<86>Jun 18 14:00:12 userdel[2134185]: delete user 'rooter'
<86>Jun 18 14:00:12 userdel[2134185]: removed group 'rooter' owned by 'rooter'
<86>Jun 18 14:00:12 userdel[2134185]: removed shadow group 'rooter' owned by 'rooter'
<86>Jun 18 14:00:12 groupadd[2134190]: group added to /etc/group: name=rooter, GID=549
<86>Jun 18 14:00:12 groupadd[2134190]: group added to /etc/gshadow: name=rooter
<86>Jun 18 14:00:12 groupadd[2134190]: new group: name=rooter, GID=549
<86>Jun 18 14:00:12 useradd[2134194]: new user: name=rooter, UID=549, GID=549, home=/root, shell=/bin/bash
<86>Jun 18 14:00:12 userdel[2134202]: delete user 'builder'
<86>Jun 18 14:00:12 userdel[2134202]: removed group 'builder' owned by 'builder'
<86>Jun 18 14:00:12 userdel[2134202]: removed shadow group 'builder' owned by 'builder'
<86>Jun 18 14:00:12 groupadd[2134209]: group added to /etc/group: name=builder, GID=550
<86>Jun 18 14:00:12 groupadd[2134209]: group added to /etc/gshadow: name=builder
<86>Jun 18 14:00:12 groupadd[2134209]: new group: name=builder, GID=550
<86>Jun 18 14:00:12 useradd[2134215]: new user: name=builder, UID=550, GID=550, home=/usr/src, shell=/bin/bash
<13>Jun 18 14:00:16 rpmi: libpcre2-10.35-alt1 sisyphus+251510.100.1.1 1589115526 installed
<13>Jun 18 14:00:16 rpmi: liblz4-1:1.9.2-alt1 sisyphus+238585.100.2.2 1570066927 installed
<13>Jun 18 14:00:16 rpmi: lua5.3-5.3.5-alt3 sisyphus+237725.540.7.3 1569407869 installed
<13>Jun 18 14:00:16 rpmi: libgpg-error-1.36-alt1 sisyphus+225621.300.1.1 1553521082 installed
<13>Jun 18 14:00:16 rpmi: libgcrypt20-1.8.5-alt3 sisyphus+239622.100.1.1 1571746654 installed
<13>Jun 18 14:00:16 rpmi: libsystemd-1:245.6-alt1 sisyphus+252793.100.1.1 1591265141 installed
<13>Jun 18 14:00:16 rpmi: libp11-kit-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Jun 18 14:00:16 rpmi: libtasn1-4.16.0-alt1 sisyphus+245480.100.1.1 1580825062 installed
<13>Jun 18 14:00:16 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Jun 18 14:00:16 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Jun 18 14:00:16 rpmi: ca-certificates-2020.06.05-alt1 sisyphus+252902.200.1.1 1591391133 installed
<13>Jun 18 14:00:16 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed
<13>Jun 18 14:00:16 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Jun 18 14:00:16 rpmi: libcrypto1.1-1.1.1g-alt1 sisyphus+249982.60.8.1 1587743711 installed
<13>Jun 18 14:00:16 rpmi: libssl1.1-1.1.1g-alt1 sisyphus+249982.60.8.1 1587743711 installed
<13>Jun 18 14:00:16 rpmi: libssl-devel-1.1.1g-alt1 sisyphus+249982.60.8.1 1587743711 installed
<13>Jun 18 14:00:16 rpmi: libsystemd-devel-1:245.6-alt1 sisyphus+252793.100.1.1 1591265141 installed
<13>Jun 18 14:00:16 rpmi: liblua5.3-devel-5.3.5-alt3 sisyphus+237725.540.7.3 1569407869 installed
<13>Jun 18 14:00:16 rpmi: libpcre2-devel-10.35-alt1 sisyphus+251510.100.1.1 1589115526 installed
<13>Jun 18 14:00:16 rpmi: zlib-devel-1.2.11-alt1 sisyphus+221902.6000.4.1 1550601058 installed
Building target platforms: i586
Building for target i586
Wrote: /usr/src/in/nosrpm/haproxy-2.0.14-alt1.nosrc.rpm
Installing haproxy-2.0.14-alt1.src.rpm
Building target platforms: i586
Building for target i586
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.11405
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf haproxy-2.0.14
+ echo 'Source #0 (haproxy-2.0.14.tar):'
Source #0 (haproxy-2.0.14.tar):
+ /bin/tar -xf /usr/src/RPM/SOURCES/haproxy-2.0.14.tar
+ cd haproxy-2.0.14
+ /bin/chmod -c -Rf u+rwX,go-w .
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.11405
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd haproxy-2.0.14
+ regparm_opts=USE_REGPARM=1
++ pcre2-config --cflags
+ make -j8 CPU=generic TARGET=linux-glibc USE_OPENSSL=1 USE_PCRE2=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 USE_REGPARM=1 PREFIX=/usr ADDINC= 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' EXTRA_OBJS=contrib/prometheus-exporter/service-prometheus.o
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/ev_epoll.o
In file included from include/common/standard.h:36,
                 from src/ev_epoll.c:21:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/ev_epoll.c:21:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/ev_epoll.c:21:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/ev_epoll.c:21:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/ev_epoll.c:23:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/ev_epoll.c:21:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_epoll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/ev_epoll.c:26:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/ev_epoll.c:26:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
src/ev_epoll.c: In function '_do_poll':
src/ev_epoll.c:106:45: warning: unused parameter 'p' [-Wunused-parameter]
  106 | REGPRM3 static void _do_poll(struct poller *p, int exp, int wake)
      |                              ~~~~~~~~~~~~~~~^
src/ev_epoll.c: In function '_do_test':
src/ev_epoll.c:299:44: warning: unused parameter 'p' [-Wunused-parameter]
  299 | REGPRM1 static int _do_test(struct poller *p)
      |                             ~~~~~~~~~~~~~~~^
src/ev_epoll.c: In function '_do_fork':
src/ev_epoll.c:316:44: warning: unused parameter 'p' [-Wunused-parameter]
  316 | REGPRM1 static int _do_fork(struct poller *p)
      |                             ~~~~~~~~~~~~~~~^
src/ev_epoll.c: In function '_do_register':
src/ev_epoll.c:340:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  340 |  for (i = 0; i < MAX_THREADS; i++)
      |                ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/namespace.o
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/namespace.c:17:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/namespace.c:17:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/namespace.c:13:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/namespace.c:17:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/namespace.c:17:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/namespace.c: In function 'netns_sig_stop':
src/namespace.c:43:48: warning: unused parameter 'sh' [-Wunused-parameter]
   43 | static void netns_sig_stop(struct sig_handler *sh)
      |                            ~~~~~~~~~~~~~~~~~~~~^~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/proto/log.h:30,
                 from src/namespace.c:17:
src/namespace.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(const char *, int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:314:2: note: in expansion of macro 'INITCALL2'
  314 |  INITCALL2(STG_REGISTER, hap_register_build_opts, (str), 0)
      |  ^~~~~~~~~
src/namespace.c:131:1: note: in expansion of macro 'REGISTER_BUILD_OPTS'
  131 | REGISTER_BUILD_OPTS("Built with network namespace support.");
      | ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/ev_poll.o
In file included from include/common/standard.h:36,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/ev_poll.c:24:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_poll.c:23:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_poll.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/ev_poll.c:26:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/ev_poll.c:26:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
src/ev_poll.c: In function '_do_poll':
src/ev_poll.c:166:44: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  166 |  for (fds = 0; (fds * 8*sizeof(**fd_evts)) < maxfd; fds++) {
      |                                            ^
src/ev_poll.c:173:57: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  173 |   for (count = 0, fd = fds * 8*sizeof(**fd_evts); count < 8*sizeof(**fd_evts) && fd < maxfd; count++, fd++) {
      |                                                         ^
src/ev_poll.c:91:45: warning: unused parameter 'p' [-Wunused-parameter]
   91 | REGPRM3 static void _do_poll(struct poller *p, int exp, int wake)
      |                              ~~~~~~~~~~~~~~~^
src/ev_poll.c: In function '_do_test':
src/ev_poll.c:308:44: warning: unused parameter 'p' [-Wunused-parameter]
  308 | REGPRM1 static int _do_test(struct poller *p)
      |                             ~~~~~~~~~~~~~~~^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hlua_fcn.o
In file included from include/common/standard.h:36,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/hlua_fcn.c:21:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/server.h:35,
                 from src/hlua_fcn.c:30:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/hlua_fcn.c:21:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/hlua_fcn.c:24:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from src/hlua_fcn.c:30:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
src/hlua_fcn.c: In function 'hlua_concat_add':
src/hlua_fcn.c:397:26: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  397 |  while (b->size - b->len < l) {
      |                          ^
src/hlua_fcn.c: In function 'hlua_error':
src/hlua_fcn.c:665:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  665 |  } else if (len >= sizeof(buf))
      |                 ^~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/proto_htx.o
In file included from include/common/htx.h:28,
                 from src/proto_htx.c:16:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/standard.h:36,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/proto_htx.c:16:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/proto_htx.c:22:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/proto_htx.c:22:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/proto_htx.c:16:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/proto_htx.c:21:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/proto_htx.c:23:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/proto_htx.c:23:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/proto_htx.c:25:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/proto_htx.c:25:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from src/proto_htx.c:31:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
src/proto_htx.c: In function 'htx_wait_for_request':
src/proto_htx.c:116:9: warning: operand of ?: changes signedness from 'long int' to 'long unsigned int' due to unsignedness of other operand [-Wsign-compare]
  116 |       ? csinfo->t_idle
      |         ^~~~~~~~~~~~~~
src/proto_htx.c: In function 'htx_process_tarpit':
src/proto_htx.c:991:67: warning: unused parameter 'an_bit' [-Wunused-parameter]
  991 | int htx_process_tarpit(struct stream *s, struct channel *req, int an_bit)
      |                                                               ~~~~^~~~~~
src/proto_htx.c: In function 'htx_apply_redirect_rule':
src/proto_htx.c:2449:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2449 |      while (qs < path.len) {
      |                ^
src/proto_htx.c:2497:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2497 |      while (qs < path.len) {
      |                ^
src/proto_htx.c: In function 'htx_transform_header_str':
src/proto_htx.c:2669:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 2669 |   if (output->data == -1)
      |                    ^~
src/proto_htx.c:2656:45: warning: unused parameter 's' [-Wunused-parameter]
 2656 | int htx_transform_header_str(struct stream* s, struct channel *chn, struct htx *htx,
      |                              ~~~~~~~~~~~~~~~^
src/proto_htx.c:2656:64: warning: unused parameter 'chn' [-Wunused-parameter]
 2656 | int htx_transform_header_str(struct stream* s, struct channel *chn, struct htx *htx,
      |                                                ~~~~~~~~~~~~~~~~^~~
src/proto_htx.c: In function 'htx_req_replace_stline':
src/proto_htx.c:2777:21: warning: unused parameter 'px' [-Wunused-parameter]
 2777 |       struct proxy *px, struct stream *s)
      |       ~~~~~~~~~~~~~~^~
src/proto_htx.c: In function 'htx_manage_client_side_cookies':
src/proto_htx.c:4378:27: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4378 |   if ((hdr_end - hdr_beg) != ctx.value.len) {
      |                           ^~
src/proto_htx.c: In function 'htx_check_request_for_cacheability':
src/proto_htx.c:4724:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4724 |   while (i < v.len && *(v.ptr+i) != '=' && *(v.ptr+i) != ',' &&
      |            ^
src/proto_htx.c: In function 'htx_check_response_for_cacheability':
src/proto_htx.c:4803:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4803 |   while (i < v.len && *(v.ptr+i) != '=' && *(v.ptr+i) != ',' &&
      |            ^
src/proto_htx.c:4808:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4808 |   if (i < v.len && *(v.ptr + i) == '=') {
      |         ^
src/proto_htx.c: In function 'htx_stats_check_uri':
src/proto_htx.c:4895:24: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4895 |  if (uri_auth->uri_len > uri.len)
      |                        ^
src/proto_htx.c: In function 'htx_reply_and_close':
src/proto_htx.c:5427:50: warning: unused parameter 'status' [-Wunused-parameter]
 5427 | void htx_reply_and_close(struct stream *s, short status, struct buffer *msg)
      |                                            ~~~~~~^~~~~~
src/proto_htx.c: In function 'htx_capture_headers':
src/proto_htx.c:5636:34: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 5636 |    if (h->namelen && (h->namelen == n.len) &&
      |                                  ^~
src/proto_htx.c:5648:15: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 5648 |     if (v.len > h->len)
      |               ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/cfgparse-listen.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-listen.c:14:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/cfgparse-listen.c:22:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/cfgparse-listen.c:22:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/server.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/server.c:34:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/server.c:34:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/server.c:44:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/server.c:44:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/server.c: At top level:
src/server.c:71:1: warning: missing initializer for field 'rwlock' of 'struct dict' [-Wmissing-field-initializers]
   71 | };
      | ^
In file included from include/common/mini-clist.h:183,
                 from include/common/cfgparse.h:28,
                 from src/server.c:19:
include/types/dict.h:16:31: note: 'rwlock' declared here
   16 |  __decl_hathreads(HA_RWLOCK_T rwlock);
      |                               ^~~~~~
include/common/hathreads.h:255:32: note: in definition of macro '__decl_hathreads'
  255 | #define __decl_hathreads(decl) decl
      |                                ^~~~
src/server.c: In function 'srv_parse_addr':
src/server.c:260:41: warning: unused parameter 'curproxy' [-Wunused-parameter]
  260 |                           struct proxy *curproxy, struct server *newsrv, char **err)
      |                           ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_agent_check':
src/server.c:306:41: warning: unused parameter 'args' [-Wunused-parameter]
  306 | static int srv_parse_agent_check(char **args, int *cur_arg,
      |                                  ~~~~~~~^~~~
src/server.c:306:52: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  306 | static int srv_parse_agent_check(char **args, int *cur_arg,
      |                                               ~~~~~^~~~~~~
src/server.c:307:48: warning: unused parameter 'curproxy' [-Wunused-parameter]
  307 |                                  struct proxy *curproxy, struct server *newsrv, char **err)
      |                                  ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:307:88: warning: unused parameter 'err' [-Wunused-parameter]
  307 |                                  struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                 ~~~~~~~^~~
src/server.c: In function 'srv_parse_backup':
src/server.c:314:36: warning: unused parameter 'args' [-Wunused-parameter]
  314 | static int srv_parse_backup(char **args, int *cur_arg,
      |                             ~~~~~~~^~~~
src/server.c:314:47: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  314 | static int srv_parse_backup(char **args, int *cur_arg,
      |                                          ~~~~~^~~~~~~
src/server.c:315:43: warning: unused parameter 'curproxy' [-Wunused-parameter]
  315 |                             struct proxy *curproxy, struct server *newsrv, char **err)
      |                             ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:315:83: warning: unused parameter 'err' [-Wunused-parameter]
  315 |                             struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                            ~~~~~~~^~~
src/server.c: In function 'srv_parse_check':
src/server.c:322:35: warning: unused parameter 'args' [-Wunused-parameter]
  322 | static int srv_parse_check(char **args, int *cur_arg,
      |                            ~~~~~~~^~~~
src/server.c:322:46: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  322 | static int srv_parse_check(char **args, int *cur_arg,
      |                                         ~~~~~^~~~~~~
src/server.c:323:42: warning: unused parameter 'curproxy' [-Wunused-parameter]
  323 |                            struct proxy *curproxy, struct server *newsrv, char **err)
      |                            ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:323:82: warning: unused parameter 'err' [-Wunused-parameter]
  323 |                            struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                           ~~~~~~~^~~
src/server.c: In function 'srv_parse_check_send_proxy':
src/server.c:330:46: warning: unused parameter 'args' [-Wunused-parameter]
  330 | static int srv_parse_check_send_proxy(char **args, int *cur_arg,
      |                                       ~~~~~~~^~~~
src/server.c:330:57: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  330 | static int srv_parse_check_send_proxy(char **args, int *cur_arg,
      |                                                    ~~~~~^~~~~~~
src/server.c:331:53: warning: unused parameter 'curproxy' [-Wunused-parameter]
  331 |                                       struct proxy *curproxy, struct server *newsrv, char **err)
      |                                       ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:331:93: warning: unused parameter 'err' [-Wunused-parameter]
  331 |                                       struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                      ~~~~~~~^~~
src/server.c: In function 'srv_parse_check_via_socks4':
src/server.c:338:46: warning: unused parameter 'args' [-Wunused-parameter]
  338 | static int srv_parse_check_via_socks4(char **args, int *cur_arg,
      |                                       ~~~~~~~^~~~
src/server.c:338:57: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  338 | static int srv_parse_check_via_socks4(char **args, int *cur_arg,
      |                                                    ~~~~~^~~~~~~
src/server.c:339:53: warning: unused parameter 'curproxy' [-Wunused-parameter]
  339 |                                       struct proxy *curproxy, struct server *newsrv, char **err)
      |                                       ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:339:93: warning: unused parameter 'err' [-Wunused-parameter]
  339 |                                       struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                      ~~~~~~~^~~
src/server.c: In function 'srv_parse_cookie':
src/server.c:347:43: warning: unused parameter 'curproxy' [-Wunused-parameter]
  347 |                             struct proxy *curproxy, struct server *newsrv, char **err)
      |                             ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_disabled':
src/server.c:365:38: warning: unused parameter 'args' [-Wunused-parameter]
  365 | static int srv_parse_disabled(char **args, int *cur_arg,
      |                               ~~~~~~~^~~~
src/server.c:365:49: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  365 | static int srv_parse_disabled(char **args, int *cur_arg,
      |                                            ~~~~~^~~~~~~
src/server.c:366:45: warning: unused parameter 'curproxy' [-Wunused-parameter]
  366 |                               struct proxy *curproxy, struct server *newsrv, char **err)
      |                               ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:366:85: warning: unused parameter 'err' [-Wunused-parameter]
  366 |                               struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                              ~~~~~~~^~~
src/server.c: In function 'srv_parse_enabled':
src/server.c:376:37: warning: unused parameter 'args' [-Wunused-parameter]
  376 | static int srv_parse_enabled(char **args, int *cur_arg,
      |                              ~~~~~~~^~~~
src/server.c:376:48: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  376 | static int srv_parse_enabled(char **args, int *cur_arg,
      |                                           ~~~~~^~~~~~~
src/server.c:377:44: warning: unused parameter 'curproxy' [-Wunused-parameter]
  377 |                              struct proxy *curproxy, struct server *newsrv, char **err)
      |                              ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:377:84: warning: unused parameter 'err' [-Wunused-parameter]
  377 |                              struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                             ~~~~~~~^~~
src/server.c: In function 'srv_parse_max_reuse':
src/server.c:386:73: warning: unused parameter 'curproxy' [-Wunused-parameter]
  386 | static int srv_parse_max_reuse(char **args, int *cur_arg, struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                           ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_pool_purge_delay':
src/server.c:400:80: warning: unused parameter 'curproxy' [-Wunused-parameter]
  400 | static int srv_parse_pool_purge_delay(char **args, int *cur_arg, struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                  ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_pool_max_conn':
src/server.c:432:77: warning: unused parameter 'curproxy' [-Wunused-parameter]
  432 | static int srv_parse_pool_max_conn(char **args, int *cur_arg, struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                               ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_namespace':
src/server.c:485:46: warning: unused parameter 'curproxy' [-Wunused-parameter]
  485 |                                struct proxy *curproxy, struct server *newsrv, char **err)
      |                                ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_no_agent_check':
src/server.c:526:44: warning: unused parameter 'args' [-Wunused-parameter]
  526 | static int srv_parse_no_agent_check(char **args, int *cur_arg,
      |                                     ~~~~~~~^~~~
src/server.c:526:55: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  526 | static int srv_parse_no_agent_check(char **args, int *cur_arg,
      |                                                  ~~~~~^~~~~~~
src/server.c:527:52: warning: unused parameter 'curproxy' [-Wunused-parameter]
  527 |                                      struct proxy *curproxy, struct server *newsrv, char **err)
      |                                      ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:527:92: warning: unused parameter 'err' [-Wunused-parameter]
  527 |                                      struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                     ~~~~~~~^~~
src/server.c: In function 'srv_parse_no_backup':
src/server.c:538:39: warning: unused parameter 'args' [-Wunused-parameter]
  538 | static int srv_parse_no_backup(char **args, int *cur_arg,
      |                                ~~~~~~~^~~~
src/server.c:538:50: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  538 | static int srv_parse_no_backup(char **args, int *cur_arg,
      |                                             ~~~~~^~~~~~~
src/server.c:539:46: warning: unused parameter 'curproxy' [-Wunused-parameter]
  539 |                                struct proxy *curproxy, struct server *newsrv, char **err)
      |                                ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:539:86: warning: unused parameter 'err' [-Wunused-parameter]
  539 |                                struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                               ~~~~~~~^~~
src/server.c: In function 'srv_parse_no_check':
src/server.c:546:38: warning: unused parameter 'args' [-Wunused-parameter]
  546 | static int srv_parse_no_check(char **args, int *cur_arg,
      |                               ~~~~~~~^~~~
src/server.c:546:49: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  546 | static int srv_parse_no_check(char **args, int *cur_arg,
      |                                            ~~~~~^~~~~~~
src/server.c:547:45: warning: unused parameter 'curproxy' [-Wunused-parameter]
  547 |                               struct proxy *curproxy, struct server *newsrv, char **err)
      |                               ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:547:85: warning: unused parameter 'err' [-Wunused-parameter]
  547 |                               struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                              ~~~~~~~^~~
src/server.c: In function 'srv_parse_no_check_send_proxy':
src/server.c:556:49: warning: unused parameter 'args' [-Wunused-parameter]
  556 | static int srv_parse_no_check_send_proxy(char **args, int *cur_arg,
      |                                          ~~~~~~~^~~~
src/server.c:556:60: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  556 | static int srv_parse_no_check_send_proxy(char **args, int *cur_arg,
      |                                                       ~~~~~^~~~~~~
src/server.c:557:56: warning: unused parameter 'curproxy' [-Wunused-parameter]
  557 |                                          struct proxy *curproxy, struct server *newsrv, char **err)
      |                                          ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:557:96: warning: unused parameter 'err' [-Wunused-parameter]
  557 |                                          struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                         ~~~~~~~^~~
src/server.c: In function 'srv_parse_no_send_proxy':
src/server.c:571:43: warning: unused parameter 'args' [-Wunused-parameter]
  571 | static int srv_parse_no_send_proxy(char **args, int *cur_arg,
      |                                    ~~~~~~~^~~~
src/server.c:571:54: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  571 | static int srv_parse_no_send_proxy(char **args, int *cur_arg,
      |                                                 ~~~~~^~~~~~~
src/server.c:572:50: warning: unused parameter 'curproxy' [-Wunused-parameter]
  572 |                                    struct proxy *curproxy, struct server *newsrv, char **err)
      |                                    ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:572:90: warning: unused parameter 'err' [-Wunused-parameter]
  572 |                                    struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                   ~~~~~~~^~~
src/server.c: In function 'srv_parse_no_send_proxy_v2':
src/server.c:578:46: warning: unused parameter 'args' [-Wunused-parameter]
  578 | static int srv_parse_no_send_proxy_v2(char **args, int *cur_arg,
      |                                       ~~~~~~~^~~~
src/server.c:578:57: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  578 | static int srv_parse_no_send_proxy_v2(char **args, int *cur_arg,
      |                                                    ~~~~~^~~~~~~
src/server.c:579:53: warning: unused parameter 'curproxy' [-Wunused-parameter]
  579 |                                       struct proxy *curproxy, struct server *newsrv, char **err)
      |                                       ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:579:93: warning: unused parameter 'err' [-Wunused-parameter]
  579 |                                       struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                      ~~~~~~~^~~
src/server.c: In function 'srv_parse_no_tfo':
src/server.c:585:36: warning: unused parameter 'args' [-Wunused-parameter]
  585 | static int srv_parse_no_tfo(char **args, int *cur_arg,
      |                             ~~~~~~~^~~~
src/server.c:585:47: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  585 | static int srv_parse_no_tfo(char **args, int *cur_arg,
      |                                          ~~~~~^~~~~~~
src/server.c:586:43: warning: unused parameter 'curproxy' [-Wunused-parameter]
  586 |                             struct proxy *curproxy, struct server *newsrv, char **err)
      |                             ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:586:83: warning: unused parameter 'err' [-Wunused-parameter]
  586 |                             struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                            ~~~~~~~^~~
src/server.c: In function 'srv_parse_non_stick':
src/server.c:593:39: warning: unused parameter 'args' [-Wunused-parameter]
  593 | static int srv_parse_non_stick(char **args, int *cur_arg,
      |                                ~~~~~~~^~~~
src/server.c:593:50: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  593 | static int srv_parse_non_stick(char **args, int *cur_arg,
      |                                             ~~~~~^~~~~~~
src/server.c:594:46: warning: unused parameter 'curproxy' [-Wunused-parameter]
  594 |                                struct proxy *curproxy, struct server *newsrv, char **err)
      |                                ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:594:86: warning: unused parameter 'err' [-Wunused-parameter]
  594 |                                struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                               ~~~~~~~^~~
src/server.c: In function 'srv_parse_proto':
src/server.c:608:21: warning: unused parameter 'px' [-Wunused-parameter]
  608 |       struct proxy *px, struct server *newsrv, char **err)
      |       ~~~~~~~~~~~~~~^~
src/server.c: In function 'srv_parse_proxy_v2_options':
src/server.c:627:25: warning: unused parameter 'px' [-Wunused-parameter]
  627 |           struct proxy *px, struct server *newsrv, char **err)
      |           ~~~~~~~~~~~~~~^~
src/server.c: In function 'srv_parse_redir':
src/server.c:698:42: warning: unused parameter 'curproxy' [-Wunused-parameter]
  698 |                            struct proxy *curproxy, struct server *newsrv, char **err)
      |                            ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_send_proxy':
src/server.c:716:40: warning: unused parameter 'args' [-Wunused-parameter]
  716 | static int srv_parse_send_proxy(char **args, int *cur_arg,
      |                                 ~~~~~~~^~~~
src/server.c:716:51: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  716 | static int srv_parse_send_proxy(char **args, int *cur_arg,
      |                                              ~~~~~^~~~~~~
src/server.c:717:47: warning: unused parameter 'curproxy' [-Wunused-parameter]
  717 |                                 struct proxy *curproxy, struct server *newsrv, char **err)
      |                                 ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:717:87: warning: unused parameter 'err' [-Wunused-parameter]
  717 |                                 struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                ~~~~~~~^~~
src/server.c: In function 'srv_parse_send_proxy_v2':
src/server.c:723:43: warning: unused parameter 'args' [-Wunused-parameter]
  723 | static int srv_parse_send_proxy_v2(char **args, int *cur_arg,
      |                                    ~~~~~~~^~~~
src/server.c:723:54: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  723 | static int srv_parse_send_proxy_v2(char **args, int *cur_arg,
      |                                                 ~~~~~^~~~~~~
src/server.c:724:50: warning: unused parameter 'curproxy' [-Wunused-parameter]
  724 |                                    struct proxy *curproxy, struct server *newsrv, char **err)
      |                                    ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:724:90: warning: unused parameter 'err' [-Wunused-parameter]
  724 |                                    struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                                   ~~~~~~~^~~
src/server.c: In function 'srv_parse_source':
src/server.c:732:43: warning: unused parameter 'curproxy' [-Wunused-parameter]
  732 |                             struct proxy *curproxy, struct server *newsrv, char **err)
      |                             ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_stick':
src/server.c:904:35: warning: unused parameter 'args' [-Wunused-parameter]
  904 | static int srv_parse_stick(char **args, int *cur_arg,
      |                            ~~~~~~~^~~~
src/server.c:904:46: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  904 | static int srv_parse_stick(char **args, int *cur_arg,
      |                                         ~~~~~^~~~~~~
src/server.c:905:42: warning: unused parameter 'curproxy' [-Wunused-parameter]
  905 |                            struct proxy *curproxy, struct server *newsrv, char **err)
      |                            ~~~~~~~~~~~~~~^~~~~~~~
src/server.c:905:82: warning: unused parameter 'err' [-Wunused-parameter]
  905 |                            struct proxy *curproxy, struct server *newsrv, char **err)
      |                                                                           ~~~~~~~^~~
src/server.c: In function 'srv_parse_track':
src/server.c:913:42: warning: unused parameter 'curproxy' [-Wunused-parameter]
  913 |                            struct proxy *curproxy, struct server *newsrv, char **err)
      |                            ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_socks4':
src/server.c:931:43: warning: unused parameter 'curproxy' [-Wunused-parameter]
  931 |                             struct proxy *curproxy, struct server *newsrv, char **err)
      |                             ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'srv_parse_tfo':
src/server.c:980:33: warning: unused parameter 'args' [-Wunused-parameter]
  980 | static int srv_parse_tfo(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                          ~~~~~~~^~~~
src/server.c:980:44: warning: unused parameter 'cur_arg' [-Wunused-parameter]
  980 | static int srv_parse_tfo(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                       ~~~~~^~~~~~~
src/server.c:980:67: warning: unused parameter 'px' [-Wunused-parameter]
  980 | static int srv_parse_tfo(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/server.c:980:101: warning: unused parameter 'err' [-Wunused-parameter]
  980 | static int srv_parse_tfo(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                              ~~~~~~~^~~
src/server.c: At top level:
src/server.c:1379:2: warning: missing initializer for field 'default_ok' of 'struct srv_kw' [-Wmissing-field-initializers]
 1379 |  { NULL, NULL, 0 },
      |  ^
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/server.c:19:
include/types/server.h:359:6: note: 'default_ok' declared here
  359 |  int default_ok; /* non-zero if kw is supported in default-server section */
      |      ^~~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/server.c:19:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct srv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/server.c:1382:1: note: in expansion of macro 'INITCALL1'
 1382 | INITCALL1(STG_REGISTER, srv_register_keywords, &srv_kws);
      | ^~~~~~~~~
src/server.c: In function 'server_parse_weight_change_request':
src/server.c:1456:13: warning: comparison of integer expressions of different signedness: 'long int' and 'unsigned int' [-Wsign-compare]
 1456 |  if (w && w != sv->iweight && !(px->lbprm.algo & BE_LB_PROP_DYN))
      |             ^~
src/server.c: In function 'server_health_check_init':
src/server.c:1927:71: warning: unused parameter 'curproxy' [-Wunused-parameter]
 1927 |                                     struct server *srv, struct proxy *curproxy)
      |                                                         ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'server_agent_check_init':
src/server.c:1978:70: warning: unused parameter 'curproxy' [-Wunused-parameter]
 1978 |                                    struct server *srv, struct proxy *curproxy)
      |                                                        ~~~~~~~~~~~~~~^~~~~~~~
src/server.c: In function 'server_finalize_init':
src/server.c:2048:1: warning: label 'err' defined but not used [-Wunused-label]
 2048 | err:
      | ^~~
src/server.c: In function 'srv_tmpl_parse_range':
src/server.c:2059:48: warning: unused parameter 'srv' [-Wunused-parameter]
 2059 | static int srv_tmpl_parse_range(struct server *srv, const char *arg, int *nb_low, int *nb_high)
      |                                 ~~~~~~~~~~~~~~~^~~
src/server.c: In function 'snr_resolution_error_cb':
src/server.c:4132:66: warning: unused parameter 'error_code' [-Wunused-parameter]
 4132 | int snr_resolution_error_cb(struct dns_requester *requester, int error_code)
      |                                                              ~~~~^~~~~~~~~~
src/server.c: In function 'cli_parse_set_server':
src/server.c:4494:52: warning: unused parameter 'payload' [-Wunused-parameter]
 4494 | static int cli_parse_set_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                              ~~~~~~^~~~~~~
src/server.c:4494:90: warning: unused parameter 'private' [-Wunused-parameter]
 4494 | static int cli_parse_set_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_get_weight':
src/server.c:4677:52: warning: unused parameter 'payload' [-Wunused-parameter]
 4677 | static int cli_parse_get_weight(char **args, char *payload, struct appctx *appctx, void *private)
      |                                              ~~~~~~^~~~~~~
src/server.c:4677:90: warning: unused parameter 'private' [-Wunused-parameter]
 4677 | static int cli_parse_get_weight(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_set_weight':
src/server.c:4720:52: warning: unused parameter 'payload' [-Wunused-parameter]
 4720 | static int cli_parse_set_weight(char **args, char *payload, struct appctx *appctx, void *private)
      |                                              ~~~~~~^~~~~~~
src/server.c:4720:90: warning: unused parameter 'private' [-Wunused-parameter]
 4720 | static int cli_parse_set_weight(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_set_maxconn_server':
src/server.c:4750:60: warning: unused parameter 'payload' [-Wunused-parameter]
 4750 | static int cli_parse_set_maxconn_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                      ~~~~~~^~~~~~~
src/server.c:4750:98: warning: unused parameter 'private' [-Wunused-parameter]
 4750 | static int cli_parse_set_maxconn_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                            ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_disable_agent':
src/server.c:4780:55: warning: unused parameter 'payload' [-Wunused-parameter]
 4780 | static int cli_parse_disable_agent(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                 ~~~~~~^~~~~~~
src/server.c:4780:93: warning: unused parameter 'private' [-Wunused-parameter]
 4780 | static int cli_parse_disable_agent(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_disable_health':
src/server.c:4801:56: warning: unused parameter 'payload' [-Wunused-parameter]
 4801 | static int cli_parse_disable_health(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                  ~~~~~~^~~~~~~
src/server.c:4801:94: warning: unused parameter 'private' [-Wunused-parameter]
 4801 | static int cli_parse_disable_health(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_disable_server':
src/server.c:4822:56: warning: unused parameter 'payload' [-Wunused-parameter]
 4822 | static int cli_parse_disable_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                  ~~~~~~^~~~~~~
src/server.c:4822:94: warning: unused parameter 'private' [-Wunused-parameter]
 4822 | static int cli_parse_disable_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_enable_agent':
src/server.c:4843:54: warning: unused parameter 'payload' [-Wunused-parameter]
 4843 | static int cli_parse_enable_agent(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                ~~~~~~^~~~~~~
src/server.c:4843:92: warning: unused parameter 'private' [-Wunused-parameter]
 4843 | static int cli_parse_enable_agent(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_enable_health':
src/server.c:4871:55: warning: unused parameter 'payload' [-Wunused-parameter]
 4871 | static int cli_parse_enable_health(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                 ~~~~~~^~~~~~~
src/server.c:4871:93: warning: unused parameter 'private' [-Wunused-parameter]
 4871 | static int cli_parse_enable_health(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/server.c: In function 'cli_parse_enable_server':
src/server.c:4892:55: warning: unused parameter 'payload' [-Wunused-parameter]
 4892 | static int cli_parse_enable_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                 ~~~~~~^~~~~~~
src/server.c:4892:93: warning: unused parameter 'private' [-Wunused-parameter]
 4892 | static int cli_parse_enable_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/server.c: At top level:
src/server.c:4915:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 4915 |  { { "disable", "agent",  NULL }, "disable agent  : disable agent checks (use 'set server' instead)", cli_parse_disable_agent, NULL },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/server.c:4916:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 4916 |  { { "disable", "health",  NULL }, "disable health : disable health checks (use 'set server' instead)", cli_parse_disable_health, NULL },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/server.c:4917:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 4917 |  { { "disable", "server",  NULL }, "disable server : disable a server for maintenance (use 'set server' instead)", cli_parse_disable_server, NULL },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/server.c:4918:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 4918 |  { { "enable", "agent",  NULL }, "enable agent   : enable agent checks (use 'set server' instead)", cli_parse_enable_agent, NULL },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/server.c:4919:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 4919 |  { { "enable", "health",  NULL }, "enable health  : enable health checks (use 'set server' instead)", cli_parse_enable_health, NULL },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/server.c:4920:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 4920 |  { { "enable", "server",  NULL }, "enable server  : enable a disabled server (use 'set server' instead)", cli_parse_enable_server, NULL },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/server.c:4921:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 4921 |  { { "set", "maxconn", "server",  NULL }, "set maxconn server : change a server's maxconn setting", cli_parse_set_maxconn_server, NULL },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/server.c:4922:2: warning: missing initializer for field 'io_handler' of 'struct cli_kw' [-Wmissing-field-initializers]
 4922 |  { { "set", "server", NULL }, "set server     : change a server's state, weight or address",  cli_parse_set_server },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:31:8: note: 'io_handler' declared here
   31 |  int (*io_handler)(struct appctx *appctx);
      |        ^~~~~~~~~~
src/server.c:4923:2: warning: missing initializer for field 'io_handler' of 'struct cli_kw' [-Wmissing-field-initializers]
 4923 |  { { "get", "weight", NULL }, "get weight     : report a server's current weight",  cli_parse_get_weight },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:31:8: note: 'io_handler' declared here
   31 |  int (*io_handler)(struct appctx *appctx);
      |        ^~~~~~~~~~
src/server.c:4924:2: warning: missing initializer for field 'io_handler' of 'struct cli_kw' [-Wmissing-field-initializers]
 4924 |  { { "set", "weight", NULL }, "set weight     : change a server's weight (deprecated)",  cli_parse_set_weight },
      |  ^
In file included from src/server.c:27:
include/types/cli.h:31:8: note: 'io_handler' declared here
   31 |  int (*io_handler)(struct appctx *appctx);
      |        ^~~~~~~~~~
src/server.c:4926:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 4926 |  {{},}
      |  ^
In file included from src/server.c:27:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/server.c:19:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/server.c:4929:1: note: in expansion of macro 'INITCALL1'
 4929 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
src/server.c: In function 'srv_cleanup_toremove_connections':
src/server.c:5467:72: warning: unused parameter 'context' [-Wunused-parameter]
 5467 | struct task *srv_cleanup_toremove_connections(struct task *task, void *context, unsigned short state)
      |                                                                  ~~~~~~^~~~~~~
src/server.c:5467:96: warning: unused parameter 'state' [-Wunused-parameter]
 5467 | struct task *srv_cleanup_toremove_connections(struct task *task, void *context, unsigned short state)
      |                                                                                 ~~~~~~~~~~~~~~~^~~~~
src/server.c: In function 'srv_cleanup_idle_connections':
src/server.c:5524:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 5524 |    if (did_remove && max_conn < srv->curr_idle_thr[i])
      |                               ^
src/server.c:5479:68: warning: unused parameter 'context' [-Wunused-parameter]
 5479 | struct task *srv_cleanup_idle_connections(struct task *task, void *context, unsigned short state)
      |                                                              ~~~~~~^~~~~~~
src/server.c:5479:92: warning: unused parameter 'state' [-Wunused-parameter]
 5479 | struct task *srv_cleanup_idle_connections(struct task *task, void *context, unsigned short state)
      |                                                                             ~~~~~~~~~~~~~~~^~~~~
src/server.c: In function 'cfg_parse_pool_fd_ratio':
src/server.c:5550:53: warning: unused parameter 'section_type' [-Wunused-parameter]
 5550 | static int cfg_parse_pool_fd_ratio(char **args, int section_type, struct proxy *curpx,
      |                                                 ~~~~^~~~~~~~~~~~
src/server.c:5550:81: warning: unused parameter 'curpx' [-Wunused-parameter]
 5550 | static int cfg_parse_pool_fd_ratio(char **args, int section_type, struct proxy *curpx,
      |                                                                   ~~~~~~~~~~~~~~^~~~~
src/server.c:5551:50: warning: unused parameter 'defpx' [-Wunused-parameter]
 5551 |                                    struct proxy *defpx, const char *file, int line,
      |                                    ~~~~~~~~~~~~~~^~~~~
src/server.c:5551:69: warning: unused parameter 'file' [-Wunused-parameter]
 5551 |                                    struct proxy *defpx, const char *file, int line,
      |                                                         ~~~~~~~~~~~~^~~~
src/server.c:5551:79: warning: unused parameter 'line' [-Wunused-parameter]
 5551 |                                    struct proxy *defpx, const char *file, int line,
      |                                                                           ~~~~^~~~
In file included from include/common/cfgparse.h:27,
                 from src/server.c:19:
src/server.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/server.c:5581:1: note: in expansion of macro 'INITCALL1'
 5581 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/stream.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/stream.c:22:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/stream.c:38:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/stream.c:41:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/stream.c:41:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from src/stream.c:58:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/common/cfgparse.h:27,
                 from src/stream.c:17:
src/stream.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/stream.c:69:1: note: in expansion of macro 'DECLARE_POOL'
   69 | DECLARE_POOL(pool_head_stream, "stream", sizeof(struct stream));
      | ^~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:260:2: note: in expansion of macro 'INITCALL1'
  260 |  INITCALL1(STG_LOCK, ha_spin_init, &(lock))
      |  ^~~~~~~~~
src/stream.c:72:1: note: in expansion of macro '__decl_spinlock'
   72 | __decl_spinlock(streams_lock);
      | ^~~~~~~~~~~~~~~
src/stream.c: In function 'process_sticking_rules':
src/stream.c:1617:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1617 |     if (s->store_count < (sizeof(s->store) / sizeof(s->store[0]))) {
      |                        ^
src/stream.c: In function 'process_store_rules':
src/stream.c:1694:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1694 |    if (s->store_count < (sizeof(s->store) / sizeof(s->store[0]))) {
      |                       ^
src/stream.c: In function 'cli_parse_show_sess':
src/stream.c:3431:51: warning: unused parameter 'payload' [-Wunused-parameter]
 3431 | static int cli_parse_show_sess(char **args, char *payload, struct appctx *appctx, void *private)
      |                                             ~~~~~~^~~~~~~
src/stream.c:3431:89: warning: unused parameter 'private' [-Wunused-parameter]
 3431 | static int cli_parse_show_sess(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stream.c: In function 'cli_parse_shutdown_session':
src/stream.c:3683:58: warning: unused parameter 'payload' [-Wunused-parameter]
 3683 | static int cli_parse_shutdown_session(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                    ~~~~~~^~~~~~~
src/stream.c:3683:96: warning: unused parameter 'private' [-Wunused-parameter]
 3683 | static int cli_parse_shutdown_session(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/stream.c: In function 'cli_parse_shutdown_sessions_server':
src/stream.c:3718:66: warning: unused parameter 'payload' [-Wunused-parameter]
 3718 | static int cli_parse_shutdown_sessions_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                            ~~~~~~^~~~~~~
src/stream.c:3718:104: warning: unused parameter 'private' [-Wunused-parameter]
 3718 | static int cli_parse_shutdown_sessions_server(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                                  ~~~~~~^~~~~~~
src/stream.c: At top level:
src/stream.c:3741:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 3741 |  { { "show", "sess",  NULL }, "show sess [id] : report the list of current sessions or dump this session", cli_parse_show_sess, cli_io_handler_dump_sess, cli_release_show_sess },
      |  ^
In file included from src/stream.c:28:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/stream.c:3742:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 3742 |  { { "shutdown", "session",  NULL }, "shutdown session : kill a specific session", cli_parse_shutdown_session, NULL, NULL },
      |  ^
In file included from src/stream.c:28:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/stream.c:3743:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 3743 |  { { "shutdown", "sessions",  "server" }, "shutdown sessions server : kill sessions on a server", cli_parse_shutdown_sessions_server, NULL, NULL },
      |  ^
In file included from src/stream.c:28:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/stream.c:3744:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 3744 |  {{},}
      |  ^
In file included from src/stream.c:28:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stream.c:17:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stream.c:3747:1: note: in expansion of macro 'INITCALL1'
 3747 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
src/stream.c:3751:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 3751 |  { "use-service", stream_parse_use_service },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stream.c:17:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stream.c:3755:1: note: in expansion of macro 'INITCALL1'
 3755 | INITCALL1(STG_REGISTER, tcp_req_cont_keywords_register, &stream_tcp_keywords);
      | ^~~~~~~~~
src/stream.c:3758:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 3758 |  { "use-service", stream_parse_use_service },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stream.c:17:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stream.c:17:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stream.c:3762:1: note: in expansion of macro 'INITCALL1'
 3762 | INITCALL1(STG_REGISTER, http_req_keywords_register, &stream_http_keywords);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/ssl_sock.o
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/buffer.h:30,
                 from src/ssl_sock.c:46:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/ssl_sock.c:46:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/ssl_sock.c:46:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/ssl_sock.c:46:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/ssl_sock.c:60:
ebtree/ebsttree.h: In function '__ebst_insert':
ebtree/ebsttree.h:149:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  149 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:176:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  176 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:177:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  177 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:178:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  178 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:179:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  179 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:216:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/ssl_sock.c:43:
ebtree/ebsttree.h:262:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  262 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from src/ssl_sock.c:60:
ebtree/ebsttree.h:278:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  278 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:279:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  279 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:303:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  303 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:319:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  319 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/channel.h:32,
                 from src/ssl_sock.c:70:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/ssl_sock.c:70:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/ssl_sock.c:71:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/ssl_sock.c:71:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from src/ssl_sock.c:80:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from src/ssl_sock.c:85:
include/proto/shctx.h: In function '_shctx_wait4lock':
include/proto/shctx.h:93:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   93 |         for (i = 0; i < *count; i++) {
      |                       ^
include/proto/shctx.h:89:72: warning: unused parameter 'uaddr' [-Wunused-parameter]
   89 | static inline void _shctx_wait4lock(unsigned int *count, unsigned int *uaddr, int value)
      |                                                          ~~~~~~~~~~~~~~^~~~~
include/proto/shctx.h:89:83: warning: unused parameter 'value' [-Wunused-parameter]
   89 | static inline void _shctx_wait4lock(unsigned int *count, unsigned int *uaddr, int value)
      |                                                                               ~~~~^~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/ssl_sock.c:46:
src/ssl_sock.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/ssl_sock.c:225:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  225 | DECLARE_STATIC_POOL(ssl_sock_ctx_pool, "ssl_sock_ctx_pool", sizeof(struct ssl_sock_ctx));
      | ^~~~~~~~~~~~~~~~~~~
src/ssl_sock.c: In function 'ha_ssl_gets':
src/ssl_sock.c:251:29: warning: unused parameter 'h' [-Wunused-parameter]
  251 | static int ha_ssl_gets(BIO *h, char *buf, int size)
      |                        ~~~~~^
src/ssl_sock.c:251:38: warning: unused parameter 'buf' [-Wunused-parameter]
  251 | static int ha_ssl_gets(BIO *h, char *buf, int size)
      |                                ~~~~~~^~~
src/ssl_sock.c:251:47: warning: unused parameter 'size' [-Wunused-parameter]
  251 | static int ha_ssl_gets(BIO *h, char *buf, int size)
      |                                           ~~~~^~~~
src/ssl_sock.c: In function 'ha_ssl_ctrl':
src/ssl_sock.c:284:30: warning: unused parameter 'h' [-Wunused-parameter]
  284 | static long ha_ssl_ctrl(BIO *h, int cmd, long arg1, void *arg2)
      |                         ~~~~~^
src/ssl_sock.c:284:47: warning: unused parameter 'arg1' [-Wunused-parameter]
  284 | static long ha_ssl_ctrl(BIO *h, int cmd, long arg1, void *arg2)
      |                                          ~~~~~^~~~
src/ssl_sock.c:284:59: warning: unused parameter 'arg2' [-Wunused-parameter]
  284 | static long ha_ssl_ctrl(BIO *h, int cmd, long arg1, void *arg2)
      |                                                     ~~~~~~^~~~
src/ssl_sock.c: In function 'ha_ssl_free':
src/ssl_sock.c:304:29: warning: unused parameter 'data' [-Wunused-parameter]
  304 | static int ha_ssl_free(BIO *data)
      |                        ~~~~~^~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/ssl_sock.c:46:
src/ssl_sock.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:270:2: note: in expansion of macro 'INITCALL1'
  270 |  INITCALL1(STG_LOCK, ha_rwlock_init, &(lock))
      |  ^~~~~~~~~
src/ssl_sock.c:413:1: note: in expansion of macro '__decl_rwlock'
  413 | __decl_rwlock(ssl_ctx_lru_rwlock);
      | ^~~~~~~~~~~~~
src/ssl_sock.c: In function 'ssl_async_fd_free':
src/ssl_sock.c:554:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  554 |  for (i=0 ; i < num_all_fds ; i++)
      |               ^
src/ssl_sock.c: In function 'ssl_async_process_fds':
src/ssl_sock.c:585:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  585 |  for (i=0 ; i < num_del_fds ; i++)
      |               ^
src/ssl_sock.c:589:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  589 |  for (i=0 ; i < num_add_fds ; i++) {
      |               ^
src/ssl_sock.c:602:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  602 |  for (i=0 ; i < num_add_fds ; i++) {
      |               ^
src/ssl_sock.c: In function 'ssl_sock_parse_sctl':
src/ssl_sock.c:1419:14: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1419 |  if (len + 2 != sctl->data)
      |              ^~
src/ssl_sock.c: In function 'ssl_sock_sctl_add_cbk':
src/ssl_sock.c:1487:32: warning: unused parameter 'ssl' [-Wunused-parameter]
 1487 | int ssl_sock_sctl_add_cbk(SSL *ssl, unsigned ext_type, const unsigned char **out, size_t *outlen, int *al, void *add_arg)
      |                           ~~~~~^~~
src/ssl_sock.c:1487:46: warning: unused parameter 'ext_type' [-Wunused-parameter]
 1487 | int ssl_sock_sctl_add_cbk(SSL *ssl, unsigned ext_type, const unsigned char **out, size_t *outlen, int *al, void *add_arg)
      |                                     ~~~~~~~~~^~~~~~~~
src/ssl_sock.c:1487:104: warning: unused parameter 'al' [-Wunused-parameter]
 1487 | int ssl_sock_sctl_add_cbk(SSL *ssl, unsigned ext_type, const unsigned char **out, size_t *outlen, int *al, void *add_arg)
      |                                                                                                   ~~~~~^~
src/ssl_sock.c: In function 'ssl_sock_sctl_parse_cbk':
src/ssl_sock.c:1497:34: warning: unused parameter 's' [-Wunused-parameter]
 1497 | int ssl_sock_sctl_parse_cbk(SSL *s, unsigned int ext_type, const unsigned char *in, size_t inlen, int *al, void *parse_arg)
      |                             ~~~~~^
src/ssl_sock.c:1497:50: warning: unused parameter 'ext_type' [-Wunused-parameter]
 1497 | int ssl_sock_sctl_parse_cbk(SSL *s, unsigned int ext_type, const unsigned char *in, size_t inlen, int *al, void *parse_arg)
      |                                     ~~~~~~~~~~~~~^~~~~~~~
src/ssl_sock.c:1497:81: warning: unused parameter 'in' [-Wunused-parameter]
 1497 | int ssl_sock_sctl_parse_cbk(SSL *s, unsigned int ext_type, const unsigned char *in, size_t inlen, int *al, void *parse_arg)
      |                                                            ~~~~~~~~~~~~~~~~~~~~~^~
src/ssl_sock.c:1497:92: warning: unused parameter 'inlen' [-Wunused-parameter]
 1497 | int ssl_sock_sctl_parse_cbk(SSL *s, unsigned int ext_type, const unsigned char *in, size_t inlen, int *al, void *parse_arg)
      |                                                                                     ~~~~~~~^~~~~
src/ssl_sock.c:1497:104: warning: unused parameter 'al' [-Wunused-parameter]
 1497 | int ssl_sock_sctl_parse_cbk(SSL *s, unsigned int ext_type, const unsigned char *in, size_t inlen, int *al, void *parse_arg)
      |                                                                                                   ~~~~~^~
src/ssl_sock.c:1497:114: warning: unused parameter 'parse_arg' [-Wunused-parameter]
 1497 | int ssl_sock_sctl_parse_cbk(SSL *s, unsigned int ext_type, const unsigned char *in, size_t inlen, int *al, void *parse_arg)
      |                                                                                                            ~~~~~~^~~~~~~~~
src/ssl_sock.c: In function 'ssl_sock_parse_clienthello':
src/ssl_sock.c:1724:60: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1724 |  capture->ciphersuite_len = (global_ssl.capture_cipherlist < rec_len) ?
      |                                                            ^
src/ssl_sock.c:1725:3: warning: operand of ?: changes signedness from 'int' to 'size_t' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
 1725 |   global_ssl.capture_cipherlist : rec_len;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ssl_sock.c:1623:50: warning: unused parameter 'version' [-Wunused-parameter]
 1623 | void ssl_sock_parse_clienthello(int write_p, int version, int content_type,
      |                                              ~~~~^~~~~~~
src/ssl_sock.c: In function 'ssl_sock_msgcbk':
src/ssl_sock.c:1732:111: warning: unused parameter 'arg' [-Wunused-parameter]
 1732 | void ssl_sock_msgcbk(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg)
      |                                                                                                         ~~~~~~^~~
src/ssl_sock.c: In function 'ssl_sock_srv_select_protos':
src/ssl_sock.c:1778:44: warning: unused parameter 's' [-Wunused-parameter]
 1778 | static int ssl_sock_srv_select_protos(SSL *s, unsigned char **out, unsigned char *outlen,
      |                                       ~~~~~^
src/ssl_sock.c: In function 'ssl_sock_advertise_npn_protos':
src/ssl_sock.c:1795:47: warning: unused parameter 's' [-Wunused-parameter]
 1795 | static int ssl_sock_advertise_npn_protos(SSL *s, const unsigned char **data,
      |                                          ~~~~~^
src/ssl_sock.c: In function 'ssl_sock_advertise_alpn_protos':
src/ssl_sock.c:1810:48: warning: unused parameter 's' [-Wunused-parameter]
 1810 | static int ssl_sock_advertise_alpn_protos(SSL *s, const unsigned char **out,
      |                                           ~~~~~^
src/ssl_sock.c: In function 'ssl_sock_do_create_cert':
src/ssl_sock.c:1831:83: warning: unused parameter 'ssl' [-Wunused-parameter]
 1831 | ssl_sock_do_create_cert(const char *servername, struct bind_conf *bind_conf, SSL *ssl)
      |                                                                              ~~~~~^~~
src/ssl_sock.c: In function 'ssl_sock_create_cert':
src/ssl_sock.c:1978:84: warning: unused parameter 'key' [-Wunused-parameter]
 1978 | ssl_sock_create_cert(struct connection *conn, const char *servername, unsigned int key)
      |                                                                       ~~~~~~~~~~~~~^~~
src/ssl_sock.c: In function 'ctx_set_None_func':
src/ssl_sock.c:2179:40: warning: unused parameter 'ctx' [-Wunused-parameter]
 2179 | static void ctx_set_None_func(SSL_CTX *ctx, set_context_func c) { }
      |                               ~~~~~~~~~^~~
src/ssl_sock.c:2179:62: warning: unused parameter 'c' [-Wunused-parameter]
 2179 | static void ctx_set_None_func(SSL_CTX *ctx, set_context_func c) { }
      |                                             ~~~~~~~~~~~~~~~~~^
src/ssl_sock.c: In function 'ssl_set_None_func':
src/ssl_sock.c:2180:36: warning: unused parameter 'ssl' [-Wunused-parameter]
 2180 | static void ssl_set_None_func(SSL *ssl, set_context_func c) { }
      |                               ~~~~~^~~
src/ssl_sock.c:2180:58: warning: unused parameter 'c' [-Wunused-parameter]
 2180 | static void ssl_set_None_func(SSL *ssl, set_context_func c) { }
      |                                         ~~~~~~~~~~~~~~~~~^
src/ssl_sock.c: In function 'ssl_sock_switchctx_cbk':
src/ssl_sock.c:2354:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2354 |  for (i = 0; i < trash.size && i < servername_len; i++) {
      |                ^
src/ssl_sock.c:2354:34: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2354 |  for (i = 0; i < trash.size && i < servername_len; i++) {
      |                                  ^
src/ssl_sock.c:2221:60: warning: unused parameter 'arg' [-Wunused-parameter]
 2221 | static int ssl_sock_switchctx_cbk(SSL *ssl, int *al, void *arg)
      |                                                      ~~~~~~^~~
src/ssl_sock.c: In function 'ssl_get_tmp_dh':
src/ssl_sock.c:2683:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2683 |  if (keylen > global_ssl.default_dh_param) {
      |             ^
src/ssl_sock.c:2668:41: warning: unused parameter 'export' [-Wunused-parameter]
 2668 | static DH *ssl_get_tmp_dh(SSL *ssl, int export, int keylen)
      |                                     ~~~~^~~~~~
src/ssl_sock.c: In function 'ssl_sock_add_cert_sni':
src/ssl_sock.c:2853:28: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2853 |   for (j = 0; j < len && j < trash.size; j++)
      |                            ^
src/ssl_sock.c:2855:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2855 |   if (j >= trash.size)
      |         ^~
src/ssl_sock.c: In function 'ssl_sock_free_cert_key_and_chain_contents':
src/ssl_sock.c:2945:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2945 |  for (i = 0; i < ckch->num_chain_certs; i++) {
      |                ^
src/ssl_sock.c: In function 'ssl_sock_put_ckch_into_ctx':
src/ssl_sock.c:3075:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 3075 |  for (i = 0; i < ckch->num_chain_certs; i++) {
      |                ^
src/ssl_sock.c: In function 'ssl_sock_populate_sni_keytypes_hplr':
src/ssl_sock.c:3101:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3101 |  for (i = 0; i < trash.size; i++) {
      |                ^
src/ssl_sock.c: In function 'sh_ssl_sess_new_cb':
src/ssl_sock.c:4143:29: warning: unused parameter 'ssl' [-Wunused-parameter]
 4143 | int sh_ssl_sess_new_cb(SSL *ssl, SSL_SESSION *sess)
      |                        ~~~~~^~~
src/ssl_sock.c: In function 'sh_ssl_sess_get_cb':
src/ssl_sock.c:4199:38: warning: unused parameter 'ssl' [-Wunused-parameter]
 4199 | SSL_SESSION *sh_ssl_sess_get_cb(SSL *ssl, __OPENSSL_110_CONST__ unsigned char *key, int key_len, int *do_copy)
      |                                 ~~~~~^~~
src/ssl_sock.c: In function 'ssl_sock_handshake':
src/ssl_sock.c:5637:44: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 5637 |    if (global.ssl_be_keys_per_sec.curr_ctr > global.ssl_be_keys_max)
      |                                            ^
src/ssl_sock.c:5642:44: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 5642 |    if (global.ssl_fe_keys_per_sec.curr_ctr > global.ssl_fe_keys_max)
      |                                            ^
src/ssl_sock.c: In function 'ssl_add_xprt':
src/ssl_sock.c:5741:44: warning: unused parameter 'conn' [-Wunused-parameter]
 5741 | static int ssl_add_xprt(struct connection *conn, void *xprt_ctx, void *toadd_ctx, const struct xprt_ops *toadd_ops, void **oldxprt_ctx, const struct xprt_ops **oldxprt_ops)
      |                         ~~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c: In function 'ssl_sock_io_cb':
src/ssl_sock.c:5770:49: warning: unused parameter 't' [-Wunused-parameter]
 5770 | static struct task *ssl_sock_io_cb(struct task *t, void *context, unsigned short state)
      |                                    ~~~~~~~~~~~~~^
src/ssl_sock.c:5770:82: warning: unused parameter 'state' [-Wunused-parameter]
 5770 | static struct task *ssl_sock_io_cb(struct task *t, void *context, unsigned short state)
      |                                                                   ~~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c: In function 'ssl_sock_to_buf':
src/ssl_sock.c:5834:110: warning: unused parameter 'flags' [-Wunused-parameter]
 5834 | static size_t ssl_sock_to_buf(struct connection *conn, void *xprt_ctx, struct buffer *buf, size_t count, int flags)
      |                                                                                                          ~~~~^~~~~
src/ssl_sock.c: In function 'ssl_sock_close':
src/ssl_sock.c:6133:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 6133 |     for (i=0 ; i < num_all_fds ; i++) {
      |                  ^
src/ssl_sock.c:6157:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 6157 |    for (i=0 ; i < num_all_fds ; i++)
      |                 ^
src/ssl_sock.c: In function 'ssl_sock_get_serial':
src/ssl_sock.c:6316:16: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 6316 |  if (out->size < serial->length)
      |                ^
src/ssl_sock.c: In function 'ssl_sock_crt2der':
src/ssl_sock.c:6338:16: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 6338 |  if (out->size < len)
      |                ^
src/ssl_sock.c: In function 'ssl_sock_get_time':
src/ssl_sock.c:6361:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 6361 |   if (out->size < gentm->length-2)
      |                 ^
src/ssl_sock.c:6375:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 6375 |   if (out->size < utctm->length)
      |                 ^
src/ssl_sock.c: In function 'ssl_sock_get_dn_entry':
src/ssl_sock.c:6435:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 6435 |   if (data_len > out->size)
      |                ^
src/ssl_sock.c: In function 'ssl_sock_get_dn_oneline':
src/ssl_sock.c:6484:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 6484 |   if (l > out->size)
      |         ^
src/ssl_sock.c: In function 'ssl_sock_get_alpn':
src/ssl_sock.c:6629:55: warning: unused parameter 'conn' [-Wunused-parameter]
 6629 | static int ssl_sock_get_alpn(const struct connection *conn, void *xprt_ctx, const char **str, int *len)
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_has_early':
src/ssl_sock.c:6656:46: warning: unused parameter 'args' [-Wunused-parameter]
 6656 | smp_fetch_ssl_fc_has_early(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                            ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:6656:84: warning: unused parameter 'kw' [-Wunused-parameter]
 6656 | smp_fetch_ssl_fc_has_early(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                        ~~~~~~~~~~~~^~
src/ssl_sock.c:6656:94: warning: unused parameter 'private' [-Wunused-parameter]
 6656 | smp_fetch_ssl_fc_has_early(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_has_crt':
src/ssl_sock.c:6681:44: warning: unused parameter 'args' [-Wunused-parameter]
 6681 | smp_fetch_ssl_fc_has_crt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:6681:82: warning: unused parameter 'kw' [-Wunused-parameter]
 6681 | smp_fetch_ssl_fc_has_crt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/ssl_sock.c:6681:92: warning: unused parameter 'private' [-Wunused-parameter]
 6681 | smp_fetch_ssl_fc_has_crt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_der':
src/ssl_sock.c:6709:39: warning: unused parameter 'args' [-Wunused-parameter]
 6709 | smp_fetch_ssl_x_der(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                     ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:6709:87: warning: unused parameter 'private' [-Wunused-parameter]
 6709 | smp_fetch_ssl_x_der(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_serial':
src/ssl_sock.c:6755:42: warning: unused parameter 'args' [-Wunused-parameter]
 6755 | smp_fetch_ssl_x_serial(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                        ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:6755:90: warning: unused parameter 'private' [-Wunused-parameter]
 6755 | smp_fetch_ssl_x_serial(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_sha1':
src/ssl_sock.c:6802:40: warning: unused parameter 'args' [-Wunused-parameter]
 6802 | smp_fetch_ssl_x_sha1(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                      ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:6802:88: warning: unused parameter 'private' [-Wunused-parameter]
 6802 | smp_fetch_ssl_x_sha1(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_notafter':
src/ssl_sock.c:6849:44: warning: unused parameter 'args' [-Wunused-parameter]
 6849 | smp_fetch_ssl_x_notafter(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:6849:92: warning: unused parameter 'private' [-Wunused-parameter]
 6849 | smp_fetch_ssl_x_notafter(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_i_dn':
src/ssl_sock.c:6894:88: warning: unused parameter 'private' [-Wunused-parameter]
 6894 | smp_fetch_ssl_x_i_dn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_notbefore':
src/ssl_sock.c:6953:45: warning: unused parameter 'args' [-Wunused-parameter]
 6953 | smp_fetch_ssl_x_notbefore(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                           ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:6953:93: warning: unused parameter 'private' [-Wunused-parameter]
 6953 | smp_fetch_ssl_x_notbefore(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_s_dn':
src/ssl_sock.c:6998:88: warning: unused parameter 'private' [-Wunused-parameter]
 6998 | smp_fetch_ssl_x_s_dn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_c_used':
src/ssl_sock.c:7054:40: warning: unused parameter 'args' [-Wunused-parameter]
 7054 | smp_fetch_ssl_c_used(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                      ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7054:78: warning: unused parameter 'kw' [-Wunused-parameter]
 7054 | smp_fetch_ssl_c_used(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/ssl_sock.c:7054:88: warning: unused parameter 'private' [-Wunused-parameter]
 7054 | smp_fetch_ssl_c_used(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_version':
src/ssl_sock.c:7086:43: warning: unused parameter 'args' [-Wunused-parameter]
 7086 | smp_fetch_ssl_x_version(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7086:91: warning: unused parameter 'private' [-Wunused-parameter]
 7086 | smp_fetch_ssl_x_version(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_sig_alg':
src/ssl_sock.c:7124:43: warning: unused parameter 'args' [-Wunused-parameter]
 7124 | smp_fetch_ssl_x_sig_alg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7124:91: warning: unused parameter 'private' [-Wunused-parameter]
 7124 | smp_fetch_ssl_x_sig_alg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_x_key_alg':
src/ssl_sock.c:7176:43: warning: unused parameter 'args' [-Wunused-parameter]
 7176 | smp_fetch_ssl_x_key_alg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7176:91: warning: unused parameter 'private' [-Wunused-parameter]
 7176 | smp_fetch_ssl_x_key_alg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc':
src/ssl_sock.c:7227:36: warning: unused parameter 'args' [-Wunused-parameter]
 7227 | smp_fetch_ssl_fc(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                  ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7227:84: warning: unused parameter 'private' [-Wunused-parameter]
 7227 | smp_fetch_ssl_fc(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                              ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_has_sni':
src/ssl_sock.c:7239:44: warning: unused parameter 'args' [-Wunused-parameter]
 7239 | smp_fetch_ssl_fc_has_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7239:82: warning: unused parameter 'kw' [-Wunused-parameter]
 7239 | smp_fetch_ssl_fc_has_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/ssl_sock.c:7239:92: warning: unused parameter 'private' [-Wunused-parameter]
 7239 | smp_fetch_ssl_fc_has_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_is_resumed':
src/ssl_sock.c:7260:47: warning: unused parameter 'args' [-Wunused-parameter]
 7260 | smp_fetch_ssl_fc_is_resumed(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                             ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7260:95: warning: unused parameter 'private' [-Wunused-parameter]
 7260 | smp_fetch_ssl_fc_is_resumed(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_cipher':
src/ssl_sock.c:7279:43: warning: unused parameter 'args' [-Wunused-parameter]
 7279 | smp_fetch_ssl_fc_cipher(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7279:91: warning: unused parameter 'private' [-Wunused-parameter]
 7279 | smp_fetch_ssl_fc_cipher(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_alg_keysize':
src/ssl_sock.c:7307:48: warning: unused parameter 'args' [-Wunused-parameter]
 7307 | smp_fetch_ssl_fc_alg_keysize(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                              ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7307:96: warning: unused parameter 'private' [-Wunused-parameter]
 7307 | smp_fetch_ssl_fc_alg_keysize(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_use_keysize':
src/ssl_sock.c:7333:48: warning: unused parameter 'args' [-Wunused-parameter]
 7333 | smp_fetch_ssl_fc_use_keysize(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                              ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7333:96: warning: unused parameter 'private' [-Wunused-parameter]
 7333 | smp_fetch_ssl_fc_use_keysize(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_npn':
src/ssl_sock.c:7355:40: warning: unused parameter 'args' [-Wunused-parameter]
 7355 | smp_fetch_ssl_fc_npn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                      ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7355:88: warning: unused parameter 'private' [-Wunused-parameter]
 7355 | smp_fetch_ssl_fc_npn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_alpn':
src/ssl_sock.c:7385:41: warning: unused parameter 'args' [-Wunused-parameter]
 7385 | smp_fetch_ssl_fc_alpn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                       ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7385:89: warning: unused parameter 'private' [-Wunused-parameter]
 7385 | smp_fetch_ssl_fc_alpn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_protocol':
src/ssl_sock.c:7419:45: warning: unused parameter 'args' [-Wunused-parameter]
 7419 | smp_fetch_ssl_fc_protocol(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                           ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7419:93: warning: unused parameter 'private' [-Wunused-parameter]
 7419 | smp_fetch_ssl_fc_protocol(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_session_id':
src/ssl_sock.c:7447:47: warning: unused parameter 'args' [-Wunused-parameter]
 7447 | smp_fetch_ssl_fc_session_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                             ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7447:95: warning: unused parameter 'private' [-Wunused-parameter]
 7447 | smp_fetch_ssl_fc_session_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_random':
src/ssl_sock.c:7478:43: warning: unused parameter 'args' [-Wunused-parameter]
 7478 | smp_fetch_ssl_fc_random(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7478:91: warning: unused parameter 'private' [-Wunused-parameter]
 7478 | smp_fetch_ssl_fc_random(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_session_key':
src/ssl_sock.c:7509:48: warning: unused parameter 'args' [-Wunused-parameter]
 7509 | smp_fetch_ssl_fc_session_key(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                              ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7509:96: warning: unused parameter 'private' [-Wunused-parameter]
 7509 | smp_fetch_ssl_fc_session_key(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_sni':
src/ssl_sock.c:7542:40: warning: unused parameter 'args' [-Wunused-parameter]
 7542 | smp_fetch_ssl_fc_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                      ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7542:78: warning: unused parameter 'kw' [-Wunused-parameter]
 7542 | smp_fetch_ssl_fc_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/ssl_sock.c:7542:88: warning: unused parameter 'private' [-Wunused-parameter]
 7542 | smp_fetch_ssl_fc_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_cl_bin':
src/ssl_sock.c:7565:43: warning: unused parameter 'args' [-Wunused-parameter]
 7565 | smp_fetch_ssl_fc_cl_bin(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7565:81: warning: unused parameter 'kw' [-Wunused-parameter]
 7565 | smp_fetch_ssl_fc_cl_bin(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                     ~~~~~~~~~~~~^~
src/ssl_sock.c:7565:91: warning: unused parameter 'private' [-Wunused-parameter]
 7565 | smp_fetch_ssl_fc_cl_bin(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_cl_xxh64':
src/ssl_sock.c:7603:45: warning: unused parameter 'args' [-Wunused-parameter]
 7603 | smp_fetch_ssl_fc_cl_xxh64(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                           ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7603:83: warning: unused parameter 'kw' [-Wunused-parameter]
 7603 | smp_fetch_ssl_fc_cl_xxh64(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                       ~~~~~~~~~~~~^~
src/ssl_sock.c:7603:93: warning: unused parameter 'private' [-Wunused-parameter]
 7603 | smp_fetch_ssl_fc_cl_xxh64(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_cl_str':
src/ssl_sock.c:7634:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 7634 |  for (i = 0; i + 1 < smp->data.u.str.data; i += 2) {
      |                    ^
src/ssl_sock.c: In function 'smp_fetch_ssl_fc_unique_id':
src/ssl_sock.c:7662:46: warning: unused parameter 'args' [-Wunused-parameter]
 7662 | smp_fetch_ssl_fc_unique_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                            ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7662:94: warning: unused parameter 'private' [-Wunused-parameter]
 7662 | smp_fetch_ssl_fc_unique_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_c_ca_err':
src/ssl_sock.c:7703:42: warning: unused parameter 'args' [-Wunused-parameter]
 7703 | smp_fetch_ssl_c_ca_err(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                        ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7703:80: warning: unused parameter 'kw' [-Wunused-parameter]
 7703 | smp_fetch_ssl_c_ca_err(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                    ~~~~~~~~~~~~^~
src/ssl_sock.c:7703:90: warning: unused parameter 'private' [-Wunused-parameter]
 7703 | smp_fetch_ssl_c_ca_err(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_c_ca_err_depth':
src/ssl_sock.c:7727:48: warning: unused parameter 'args' [-Wunused-parameter]
 7727 | smp_fetch_ssl_c_ca_err_depth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                              ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7727:86: warning: unused parameter 'kw' [-Wunused-parameter]
 7727 | smp_fetch_ssl_c_ca_err_depth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                          ~~~~~~~~~~~~^~
src/ssl_sock.c:7727:96: warning: unused parameter 'private' [-Wunused-parameter]
 7727 | smp_fetch_ssl_c_ca_err_depth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_c_err':
src/ssl_sock.c:7751:39: warning: unused parameter 'args' [-Wunused-parameter]
 7751 | smp_fetch_ssl_c_err(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                     ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7751:77: warning: unused parameter 'kw' [-Wunused-parameter]
 7751 | smp_fetch_ssl_c_err(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/ssl_sock.c:7751:87: warning: unused parameter 'private' [-Wunused-parameter]
 7751 | smp_fetch_ssl_c_err(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'smp_fetch_ssl_c_verify':
src/ssl_sock.c:7776:42: warning: unused parameter 'args' [-Wunused-parameter]
 7776 | smp_fetch_ssl_c_verify(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                        ~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:7776:80: warning: unused parameter 'kw' [-Wunused-parameter]
 7776 | smp_fetch_ssl_c_verify(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                    ~~~~~~~~~~~~^~
src/ssl_sock.c:7776:90: warning: unused parameter 'private' [-Wunused-parameter]
 7776 | smp_fetch_ssl_c_verify(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'ssl_bind_parse_ca_file':
src/ssl_sock.c:7802:75: warning: unused parameter 'px' [-Wunused-parameter]
 7802 | static int ssl_bind_parse_ca_file(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                             ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'bind_parse_ca_sign_file':
src/ssl_sock.c:7823:76: warning: unused parameter 'px' [-Wunused-parameter]
 7823 | static int bind_parse_ca_sign_file(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                              ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'bind_parse_ca_sign_pass':
src/ssl_sock.c:7840:76: warning: unused parameter 'px' [-Wunused-parameter]
 7840 | static int bind_parse_ca_sign_pass(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                              ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_ciphers':
src/ssl_sock.c:7852:75: warning: unused parameter 'px' [-Wunused-parameter]
 7852 | static int ssl_bind_parse_ciphers(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                             ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_ciphersuites':
src/ssl_sock.c:7870:80: warning: unused parameter 'px' [-Wunused-parameter]
 7870 | static int ssl_bind_parse_ciphersuites(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                                  ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'bind_parse_crt':
src/ssl_sock.c:7888:67: warning: unused parameter 'px' [-Wunused-parameter]
 7888 | static int bind_parse_crt(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_crl_file':
src/ssl_sock.c:7927:76: warning: unused parameter 'px' [-Wunused-parameter]
 7927 | static int ssl_bind_parse_crl_file(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                              ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_curves':
src/ssl_sock.c:7954:74: warning: unused parameter 'px' [-Wunused-parameter]
 7954 | static int ssl_bind_parse_curves(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                            ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_ecdhe':
src/ssl_sock.c:7976:73: warning: unused parameter 'px' [-Wunused-parameter]
 7976 | static int ssl_bind_parse_ecdhe(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                           ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'bind_parse_ignore_err':
src/ssl_sock.c:8004:74: warning: unused parameter 'px' [-Wunused-parameter]
 8004 | static int bind_parse_ignore_err(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                            ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'bind_parse_tls_method_options':
src/ssl_sock.c:8075:82: warning: unused parameter 'px' [-Wunused-parameter]
 8075 | static int bind_parse_tls_method_options(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                    ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_tls_method_options':
src/ssl_sock.c:8080:82: warning: unused parameter 'px' [-Wunused-parameter]
 8080 | static int srv_parse_tls_method_options(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                    ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_tls_method_minmax':
src/ssl_sock.c:8115:85: warning: unused parameter 'px' [-Wunused-parameter]
 8115 | static int ssl_bind_parse_tls_method_minmax(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                                       ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'bind_parse_tls_method_minmax':
src/ssl_sock.c:8123:81: warning: unused parameter 'px' [-Wunused-parameter]
 8123 | static int bind_parse_tls_method_minmax(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                   ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_tls_method_minmax':
src/ssl_sock.c:8128:81: warning: unused parameter 'px' [-Wunused-parameter]
 8128 | static int srv_parse_tls_method_minmax(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                   ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'bind_parse_no_tls_tickets':
src/ssl_sock.c:8134:45: warning: unused parameter 'args' [-Wunused-parameter]
 8134 | static int bind_parse_no_tls_tickets(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                      ~~~~~~~^~~~
src/ssl_sock.c:8134:55: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8134 | static int bind_parse_no_tls_tickets(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                   ~~~~^~~~~~~
src/ssl_sock.c:8134:78: warning: unused parameter 'px' [-Wunused-parameter]
 8134 | static int bind_parse_no_tls_tickets(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8134:113: warning: unused parameter 'err' [-Wunused-parameter]
 8134 | static int bind_parse_no_tls_tickets(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                          ~~~~~~~^~~
src/ssl_sock.c: In function 'ssl_bind_parse_allow_0rtt':
src/ssl_sock.c:8141:45: warning: unused parameter 'args' [-Wunused-parameter]
 8141 | static int ssl_bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                      ~~~~~~~^~~~
src/ssl_sock.c:8141:55: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8141 | static int ssl_bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                   ~~~~^~~~~~~
src/ssl_sock.c:8141:78: warning: unused parameter 'px' [-Wunused-parameter]
 8141 | static int ssl_bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                                ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8141:117: warning: unused parameter 'err' [-Wunused-parameter]
 8141 | static int ssl_bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                                                                              ~~~~~~~^~~
src/ssl_sock.c: In function 'bind_parse_allow_0rtt':
src/ssl_sock.c:8147:41: warning: unused parameter 'args' [-Wunused-parameter]
 8147 | static int bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                  ~~~~~~~^~~~
src/ssl_sock.c:8147:51: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8147 | static int bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                               ~~~~^~~~~~~
src/ssl_sock.c:8147:74: warning: unused parameter 'px' [-Wunused-parameter]
 8147 | static int bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                            ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8147:109: warning: unused parameter 'err' [-Wunused-parameter]
 8147 | static int bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                      ~~~~~~~^~~
src/ssl_sock.c: In function 'ssl_bind_parse_npn':
src/ssl_sock.c:8154:71: warning: unused parameter 'px' [-Wunused-parameter]
 8154 | static int ssl_bind_parse_npn(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                         ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_alpn':
src/ssl_sock.c:8210:72: warning: unused parameter 'px' [-Wunused-parameter]
 8210 | static int ssl_bind_parse_alpn(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                          ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'bind_parse_ssl':
src/ssl_sock.c:8266:34: warning: unused parameter 'args' [-Wunused-parameter]
 8266 | static int bind_parse_ssl(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                           ~~~~~~~^~~~
src/ssl_sock.c:8266:44: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8266 | static int bind_parse_ssl(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                        ~~~~^~~~~~~
src/ssl_sock.c:8266:67: warning: unused parameter 'px' [-Wunused-parameter]
 8266 | static int bind_parse_ssl(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8266:102: warning: unused parameter 'err' [-Wunused-parameter]
 8266 | static int bind_parse_ssl(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                               ~~~~~~~^~~
src/ssl_sock.c: In function 'bind_parse_pcc':
src/ssl_sock.c:8288:34: warning: unused parameter 'args' [-Wunused-parameter]
 8288 | static int bind_parse_pcc(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                           ~~~~~~~^~~~
src/ssl_sock.c:8288:44: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8288 | static int bind_parse_pcc(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                        ~~~~^~~~~~~
src/ssl_sock.c:8288:67: warning: unused parameter 'px' [-Wunused-parameter]
 8288 | static int bind_parse_pcc(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8288:102: warning: unused parameter 'err' [-Wunused-parameter]
 8288 | static int bind_parse_pcc(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                               ~~~~~~~^~~
src/ssl_sock.c: In function 'bind_parse_generate_certs':
src/ssl_sock.c:8295:45: warning: unused parameter 'args' [-Wunused-parameter]
 8295 | static int bind_parse_generate_certs(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                      ~~~~~~~^~~~
src/ssl_sock.c:8295:55: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8295 | static int bind_parse_generate_certs(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                   ~~~~^~~~~~~
src/ssl_sock.c:8295:78: warning: unused parameter 'px' [-Wunused-parameter]
 8295 | static int bind_parse_generate_certs(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8295:113: warning: unused parameter 'err' [-Wunused-parameter]
 8295 | static int bind_parse_generate_certs(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                          ~~~~~~~^~~
src/ssl_sock.c: In function 'bind_parse_strict_sni':
src/ssl_sock.c:8307:41: warning: unused parameter 'args' [-Wunused-parameter]
 8307 | static int bind_parse_strict_sni(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                  ~~~~~~~^~~~
src/ssl_sock.c:8307:51: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8307 | static int bind_parse_strict_sni(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                               ~~~~^~~~~~~
src/ssl_sock.c:8307:74: warning: unused parameter 'px' [-Wunused-parameter]
 8307 | static int bind_parse_strict_sni(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                            ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8307:109: warning: unused parameter 'err' [-Wunused-parameter]
 8307 | static int bind_parse_strict_sni(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                      ~~~~~~~^~~
src/ssl_sock.c: In function 'bind_parse_tls_ticket_keys':
src/ssl_sock.c:8314:79: warning: unused parameter 'px' [-Wunused-parameter]
 8314 | static int bind_parse_tls_ticket_keys(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                 ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_verify':
src/ssl_sock.c:8434:74: warning: unused parameter 'px' [-Wunused-parameter]
 8434 | static int ssl_bind_parse_verify(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                            ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_bind_parse_no_ca_names':
src/ssl_sock.c:8463:46: warning: unused parameter 'args' [-Wunused-parameter]
 8463 | static int ssl_bind_parse_no_ca_names(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                       ~~~~~~~^~~~
src/ssl_sock.c:8463:56: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8463 | static int ssl_bind_parse_no_ca_names(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                    ~~~~^~~~~~~
src/ssl_sock.c:8463:79: warning: unused parameter 'px' [-Wunused-parameter]
 8463 | static int ssl_bind_parse_no_ca_names(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                                 ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8463:118: warning: unused parameter 'err' [-Wunused-parameter]
 8463 | static int ssl_bind_parse_no_ca_names(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
      |                                                                                                               ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_npn':
src/ssl_sock.c:8476:67: warning: unused parameter 'px' [-Wunused-parameter]
 8476 | static int srv_parse_npn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_alpn':
src/ssl_sock.c:8529:68: warning: unused parameter 'px' [-Wunused-parameter]
 8529 | static int srv_parse_alpn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                      ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_ca_file':
src/ssl_sock.c:8590:71: warning: unused parameter 'px' [-Wunused-parameter]
 8590 | static int srv_parse_ca_file(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                         ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_check_sni':
src/ssl_sock.c:8607:73: warning: unused parameter 'px' [-Wunused-parameter]
 8607 | static int srv_parse_check_sni(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                           ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_check_ssl':
src/ssl_sock.c:8625:39: warning: unused parameter 'args' [-Wunused-parameter]
 8625 | static int srv_parse_check_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                ~~~~~~~^~~~
src/ssl_sock.c:8625:50: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8625 | static int srv_parse_check_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                             ~~~~~^~~~~~~
src/ssl_sock.c:8625:73: warning: unused parameter 'px' [-Wunused-parameter]
 8625 | static int srv_parse_check_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                           ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8625:107: warning: unused parameter 'err' [-Wunused-parameter]
 8625 | static int srv_parse_check_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                    ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_ciphers':
src/ssl_sock.c:8645:71: warning: unused parameter 'px' [-Wunused-parameter]
 8645 | static int srv_parse_ciphers(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                         ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_ciphersuites':
src/ssl_sock.c:8659:76: warning: unused parameter 'px' [-Wunused-parameter]
 8659 | static int srv_parse_ciphersuites(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                              ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_crl_file':
src/ssl_sock.c:8673:72: warning: unused parameter 'px' [-Wunused-parameter]
 8673 | static int srv_parse_crl_file(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                          ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_crt':
src/ssl_sock.c:8696:67: warning: unused parameter 'px' [-Wunused-parameter]
 8696 | static int srv_parse_crt(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_no_check_ssl':
src/ssl_sock.c:8713:42: warning: unused parameter 'args' [-Wunused-parameter]
 8713 | static int srv_parse_no_check_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                   ~~~~~~~^~~~
src/ssl_sock.c:8713:53: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8713 | static int srv_parse_no_check_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                ~~~~~^~~~~~~
src/ssl_sock.c:8713:76: warning: unused parameter 'px' [-Wunused-parameter]
 8713 | static int srv_parse_no_check_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                              ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8713:110: warning: unused parameter 'err' [-Wunused-parameter]
 8713 | static int srv_parse_no_check_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                       ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_no_send_proxy_ssl':
src/ssl_sock.c:8723:47: warning: unused parameter 'args' [-Wunused-parameter]
 8723 | static int srv_parse_no_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                        ~~~~~~~^~~~
src/ssl_sock.c:8723:58: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8723 | static int srv_parse_no_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                     ~~~~~^~~~~~~
src/ssl_sock.c:8723:81: warning: unused parameter 'px' [-Wunused-parameter]
 8723 | static int srv_parse_no_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                   ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8723:115: warning: unused parameter 'err' [-Wunused-parameter]
 8723 | static int srv_parse_no_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                            ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_no_send_proxy_cn':
src/ssl_sock.c:8731:46: warning: unused parameter 'args' [-Wunused-parameter]
 8731 | static int srv_parse_no_send_proxy_cn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                       ~~~~~~~^~~~
src/ssl_sock.c:8731:57: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8731 | static int srv_parse_no_send_proxy_cn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                    ~~~~~^~~~~~~
src/ssl_sock.c:8731:80: warning: unused parameter 'px' [-Wunused-parameter]
 8731 | static int srv_parse_no_send_proxy_cn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                  ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8731:114: warning: unused parameter 'err' [-Wunused-parameter]
 8731 | static int srv_parse_no_send_proxy_cn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                           ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_no_ssl':
src/ssl_sock.c:8740:36: warning: unused parameter 'args' [-Wunused-parameter]
 8740 | static int srv_parse_no_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                             ~~~~~~~^~~~
src/ssl_sock.c:8740:47: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8740 | static int srv_parse_no_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                          ~~~~~^~~~~~~
src/ssl_sock.c:8740:70: warning: unused parameter 'px' [-Wunused-parameter]
 8740 | static int srv_parse_no_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                        ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8740:104: warning: unused parameter 'err' [-Wunused-parameter]
 8740 | static int srv_parse_no_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                 ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_allow_0rtt':
src/ssl_sock.c:8749:40: warning: unused parameter 'args' [-Wunused-parameter]
 8749 | static int srv_parse_allow_0rtt(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                 ~~~~~~~^~~~
src/ssl_sock.c:8749:51: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8749 | static int srv_parse_allow_0rtt(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                              ~~~~~^~~~~~~
src/ssl_sock.c:8749:74: warning: unused parameter 'px' [-Wunused-parameter]
 8749 | static int srv_parse_allow_0rtt(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                            ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8749:108: warning: unused parameter 'err' [-Wunused-parameter]
 8749 | static int srv_parse_allow_0rtt(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                     ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_no_ssl_reuse':
src/ssl_sock.c:8756:42: warning: unused parameter 'args' [-Wunused-parameter]
 8756 | static int srv_parse_no_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                   ~~~~~~~^~~~
src/ssl_sock.c:8756:53: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8756 | static int srv_parse_no_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                ~~~~~^~~~~~~
src/ssl_sock.c:8756:76: warning: unused parameter 'px' [-Wunused-parameter]
 8756 | static int srv_parse_no_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                              ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8756:110: warning: unused parameter 'err' [-Wunused-parameter]
 8756 | static int srv_parse_no_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                       ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_no_tls_tickets':
src/ssl_sock.c:8763:44: warning: unused parameter 'args' [-Wunused-parameter]
 8763 | static int srv_parse_no_tls_tickets(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                     ~~~~~~~^~~~
src/ssl_sock.c:8763:55: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8763 | static int srv_parse_no_tls_tickets(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                  ~~~~~^~~~~~~
src/ssl_sock.c:8763:78: warning: unused parameter 'px' [-Wunused-parameter]
 8763 | static int srv_parse_no_tls_tickets(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8763:112: warning: unused parameter 'err' [-Wunused-parameter]
 8763 | static int srv_parse_no_tls_tickets(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                         ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_send_proxy_ssl':
src/ssl_sock.c:8769:44: warning: unused parameter 'args' [-Wunused-parameter]
 8769 | static int srv_parse_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                     ~~~~~~~^~~~
src/ssl_sock.c:8769:55: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8769 | static int srv_parse_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                  ~~~~~^~~~~~~
src/ssl_sock.c:8769:78: warning: unused parameter 'px' [-Wunused-parameter]
 8769 | static int srv_parse_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8769:112: warning: unused parameter 'err' [-Wunused-parameter]
 8769 | static int srv_parse_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                         ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_send_proxy_cn':
src/ssl_sock.c:8777:43: warning: unused parameter 'args' [-Wunused-parameter]
 8777 | static int srv_parse_send_proxy_cn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                    ~~~~~~~^~~~
src/ssl_sock.c:8777:54: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8777 | static int srv_parse_send_proxy_cn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                 ~~~~~^~~~~~~
src/ssl_sock.c:8777:77: warning: unused parameter 'px' [-Wunused-parameter]
 8777 | static int srv_parse_send_proxy_cn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                               ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8777:111: warning: unused parameter 'err' [-Wunused-parameter]
 8777 | static int srv_parse_send_proxy_cn(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                        ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_sni':
src/ssl_sock.c:8786:67: warning: unused parameter 'px' [-Wunused-parameter]
 8786 | static int srv_parse_sni(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_ssl':
src/ssl_sock.c:8808:33: warning: unused parameter 'args' [-Wunused-parameter]
 8808 | static int srv_parse_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                          ~~~~~~~^~~~
src/ssl_sock.c:8808:44: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8808 | static int srv_parse_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                       ~~~~~^~~~~~~
src/ssl_sock.c:8808:67: warning: unused parameter 'px' [-Wunused-parameter]
 8808 | static int srv_parse_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8808:101: warning: unused parameter 'err' [-Wunused-parameter]
 8808 | static int srv_parse_ssl(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                              ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_ssl_reuse':
src/ssl_sock.c:8821:39: warning: unused parameter 'args' [-Wunused-parameter]
 8821 | static int srv_parse_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                ~~~~~~~^~~~
src/ssl_sock.c:8821:50: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8821 | static int srv_parse_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                             ~~~~~^~~~~~~
src/ssl_sock.c:8821:73: warning: unused parameter 'px' [-Wunused-parameter]
 8821 | static int srv_parse_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                           ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8821:107: warning: unused parameter 'err' [-Wunused-parameter]
 8821 | static int srv_parse_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                    ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_tls_tickets':
src/ssl_sock.c:8828:41: warning: unused parameter 'args' [-Wunused-parameter]
 8828 | static int srv_parse_tls_tickets(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                  ~~~~~~~^~~~
src/ssl_sock.c:8828:52: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 8828 | static int srv_parse_tls_tickets(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                               ~~~~~^~~~~~~
src/ssl_sock.c:8828:75: warning: unused parameter 'px' [-Wunused-parameter]
 8828 | static int srv_parse_tls_tickets(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                             ~~~~~~~~~~~~~~^~
src/ssl_sock.c:8828:109: warning: unused parameter 'err' [-Wunused-parameter]
 8828 | static int srv_parse_tls_tickets(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                                                                      ~~~~~~~^~~
src/ssl_sock.c: In function 'srv_parse_verify':
src/ssl_sock.c:8835:70: warning: unused parameter 'px' [-Wunused-parameter]
 8835 | static int srv_parse_verify(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                        ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'srv_parse_verifyhost':
src/ssl_sock.c:8858:74: warning: unused parameter 'px' [-Wunused-parameter]
 8858 | static int srv_parse_verifyhost(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                            ~~~~~~~~~~~~~~^~
src/ssl_sock.c: In function 'ssl_parse_default_bind_options':
src/ssl_sock.c:8873:60: warning: unused parameter 'section_type' [-Wunused-parameter]
 8873 | static int ssl_parse_default_bind_options(char **args, int section_type, struct proxy *curpx,
      |                                                        ~~~~^~~~~~~~~~~~
src/ssl_sock.c:8873:88: warning: unused parameter 'curpx' [-Wunused-parameter]
 8873 | static int ssl_parse_default_bind_options(char **args, int section_type, struct proxy *curpx,
      |                                                                          ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8874:57: warning: unused parameter 'defpx' [-Wunused-parameter]
 8874 |                                           struct proxy *defpx, const char *file, int line,
      |                                           ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8874:76: warning: unused parameter 'file' [-Wunused-parameter]
 8874 |                                           struct proxy *defpx, const char *file, int line,
      |                                                                ~~~~~~~~~~~~^~~~
src/ssl_sock.c:8874:86: warning: unused parameter 'line' [-Wunused-parameter]
 8874 |                                           struct proxy *defpx, const char *file, int line,
      |                                                                                  ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_default_server_options':
src/ssl_sock.c:8905:62: warning: unused parameter 'section_type' [-Wunused-parameter]
 8905 | static int ssl_parse_default_server_options(char **args, int section_type, struct proxy *curpx,
      |                                                          ~~~~^~~~~~~~~~~~
src/ssl_sock.c:8905:90: warning: unused parameter 'curpx' [-Wunused-parameter]
 8905 | static int ssl_parse_default_server_options(char **args, int section_type, struct proxy *curpx,
      |                                                                            ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8906:59: warning: unused parameter 'defpx' [-Wunused-parameter]
 8906 |                                             struct proxy *defpx, const char *file, int line,
      |                                             ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8906:78: warning: unused parameter 'file' [-Wunused-parameter]
 8906 |                                             struct proxy *defpx, const char *file, int line,
      |                                                                  ~~~~~~~~~~~~^~~~
src/ssl_sock.c:8906:88: warning: unused parameter 'line' [-Wunused-parameter]
 8906 |                                             struct proxy *defpx, const char *file, int line,
      |                                                                                    ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_ca_crt_base':
src/ssl_sock.c:8937:58: warning: unused parameter 'section_type' [-Wunused-parameter]
 8937 | static int ssl_parse_global_ca_crt_base(char **args, int section_type, struct proxy *curpx,
      |                                                      ~~~~^~~~~~~~~~~~
src/ssl_sock.c:8937:86: warning: unused parameter 'curpx' [-Wunused-parameter]
 8937 | static int ssl_parse_global_ca_crt_base(char **args, int section_type, struct proxy *curpx,
      |                                                                        ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8938:55: warning: unused parameter 'defpx' [-Wunused-parameter]
 8938 |                                         struct proxy *defpx, const char *file, int line,
      |                                         ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8938:74: warning: unused parameter 'file' [-Wunused-parameter]
 8938 |                                         struct proxy *defpx, const char *file, int line,
      |                                                              ~~~~~~~~~~~~^~~~
src/ssl_sock.c:8938:84: warning: unused parameter 'line' [-Wunused-parameter]
 8938 |                                         struct proxy *defpx, const char *file, int line,
      |                                                                                ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_ssl_async':
src/ssl_sock.c:8964:46: warning: unused parameter 'args' [-Wunused-parameter]
 8964 | static int ssl_parse_global_ssl_async(char **args, int section_type, struct proxy *curpx,
      |                                       ~~~~~~~^~~~
src/ssl_sock.c:8964:56: warning: unused parameter 'section_type' [-Wunused-parameter]
 8964 | static int ssl_parse_global_ssl_async(char **args, int section_type, struct proxy *curpx,
      |                                                    ~~~~^~~~~~~~~~~~
src/ssl_sock.c:8964:84: warning: unused parameter 'curpx' [-Wunused-parameter]
 8964 | static int ssl_parse_global_ssl_async(char **args, int section_type, struct proxy *curpx,
      |                                                                      ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8965:54: warning: unused parameter 'defpx' [-Wunused-parameter]
 8965 |                                        struct proxy *defpx, const char *file, int line,
      |                                        ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8965:73: warning: unused parameter 'file' [-Wunused-parameter]
 8965 |                                        struct proxy *defpx, const char *file, int line,
      |                                                             ~~~~~~~~~~~~^~~~
src/ssl_sock.c:8965:83: warning: unused parameter 'line' [-Wunused-parameter]
 8965 |                                        struct proxy *defpx, const char *file, int line,
      |                                                                               ~~~~^~~~
src/ssl_sock.c:8966:47: warning: unused parameter 'err' [-Wunused-parameter]
 8966 |                                        char **err)
      |                                        ~~~~~~~^~~
src/ssl_sock.c: In function 'ssl_parse_global_ssl_engine':
src/ssl_sock.c:8992:57: warning: unused parameter 'section_type' [-Wunused-parameter]
 8992 | static int ssl_parse_global_ssl_engine(char **args, int section_type, struct proxy *curpx,
      |                                                     ~~~~^~~~~~~~~~~~
src/ssl_sock.c:8992:85: warning: unused parameter 'curpx' [-Wunused-parameter]
 8992 | static int ssl_parse_global_ssl_engine(char **args, int section_type, struct proxy *curpx,
      |                                                                       ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8993:54: warning: unused parameter 'defpx' [-Wunused-parameter]
 8993 |                                        struct proxy *defpx, const char *file, int line,
      |                                        ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:8993:73: warning: unused parameter 'file' [-Wunused-parameter]
 8993 |                                        struct proxy *defpx, const char *file, int line,
      |                                                             ~~~~~~~~~~~~^~~~
src/ssl_sock.c:8993:83: warning: unused parameter 'line' [-Wunused-parameter]
 8993 |                                        struct proxy *defpx, const char *file, int line,
      |                                                                               ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_ciphers':
src/ssl_sock.c:9035:54: warning: unused parameter 'section_type' [-Wunused-parameter]
 9035 | static int ssl_parse_global_ciphers(char **args, int section_type, struct proxy *curpx,
      |                                                  ~~~~^~~~~~~~~~~~
src/ssl_sock.c:9035:82: warning: unused parameter 'curpx' [-Wunused-parameter]
 9035 | static int ssl_parse_global_ciphers(char **args, int section_type, struct proxy *curpx,
      |                                                                    ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9036:51: warning: unused parameter 'defpx' [-Wunused-parameter]
 9036 |                                     struct proxy *defpx, const char *file, int line,
      |                                     ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9036:70: warning: unused parameter 'file' [-Wunused-parameter]
 9036 |                                     struct proxy *defpx, const char *file, int line,
      |                                                          ~~~~~~~~~~~~^~~~
src/ssl_sock.c:9036:80: warning: unused parameter 'line' [-Wunused-parameter]
 9036 |                                     struct proxy *defpx, const char *file, int line,
      |                                                                            ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_ciphersuites':
src/ssl_sock.c:9060:59: warning: unused parameter 'section_type' [-Wunused-parameter]
 9060 | static int ssl_parse_global_ciphersuites(char **args, int section_type, struct proxy *curpx,
      |                                                       ~~~~^~~~~~~~~~~~
src/ssl_sock.c:9060:87: warning: unused parameter 'curpx' [-Wunused-parameter]
 9060 | static int ssl_parse_global_ciphersuites(char **args, int section_type, struct proxy *curpx,
      |                                                                         ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9061:51: warning: unused parameter 'defpx' [-Wunused-parameter]
 9061 |                                     struct proxy *defpx, const char *file, int line,
      |                                     ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9061:70: warning: unused parameter 'file' [-Wunused-parameter]
 9061 |                                     struct proxy *defpx, const char *file, int line,
      |                                                          ~~~~~~~~~~~~^~~~
src/ssl_sock.c:9061:80: warning: unused parameter 'line' [-Wunused-parameter]
 9061 |                                     struct proxy *defpx, const char *file, int line,
      |                                                                            ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_int':
src/ssl_sock.c:9085:50: warning: unused parameter 'section_type' [-Wunused-parameter]
 9085 | static int ssl_parse_global_int(char **args, int section_type, struct proxy *curpx,
      |                                              ~~~~^~~~~~~~~~~~
src/ssl_sock.c:9085:78: warning: unused parameter 'curpx' [-Wunused-parameter]
 9085 | static int ssl_parse_global_int(char **args, int section_type, struct proxy *curpx,
      |                                                                ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9086:47: warning: unused parameter 'defpx' [-Wunused-parameter]
 9086 |                                 struct proxy *defpx, const char *file, int line,
      |                                 ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9086:66: warning: unused parameter 'file' [-Wunused-parameter]
 9086 |                                 struct proxy *defpx, const char *file, int line,
      |                                                      ~~~~~~~~~~~~^~~~
src/ssl_sock.c:9086:76: warning: unused parameter 'line' [-Wunused-parameter]
 9086 |                                 struct proxy *defpx, const char *file, int line,
      |                                                                        ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_private_cache':
src/ssl_sock.c:9148:60: warning: unused parameter 'section_type' [-Wunused-parameter]
 9148 | static int ssl_parse_global_private_cache(char **args, int section_type, struct proxy *curpx,
      |                                                        ~~~~^~~~~~~~~~~~
src/ssl_sock.c:9148:88: warning: unused parameter 'curpx' [-Wunused-parameter]
 9148 | static int ssl_parse_global_private_cache(char **args, int section_type, struct proxy *curpx,
      |                                                                          ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9149:57: warning: unused parameter 'defpx' [-Wunused-parameter]
 9149 |                                           struct proxy *defpx, const char *file, int line,
      |                                           ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9149:76: warning: unused parameter 'file' [-Wunused-parameter]
 9149 |                                           struct proxy *defpx, const char *file, int line,
      |                                                                ~~~~~~~~~~~~^~~~
src/ssl_sock.c:9149:86: warning: unused parameter 'line' [-Wunused-parameter]
 9149 |                                           struct proxy *defpx, const char *file, int line,
      |                                                                                  ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_lifetime':
src/ssl_sock.c:9162:55: warning: unused parameter 'section_type' [-Wunused-parameter]
 9162 | static int ssl_parse_global_lifetime(char **args, int section_type, struct proxy *curpx,
      |                                                   ~~~~^~~~~~~~~~~~
src/ssl_sock.c:9162:83: warning: unused parameter 'curpx' [-Wunused-parameter]
 9162 | static int ssl_parse_global_lifetime(char **args, int section_type, struct proxy *curpx,
      |                                                                     ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9163:52: warning: unused parameter 'defpx' [-Wunused-parameter]
 9163 |                                      struct proxy *defpx, const char *file, int line,
      |                                      ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9163:71: warning: unused parameter 'file' [-Wunused-parameter]
 9163 |                                      struct proxy *defpx, const char *file, int line,
      |                                                           ~~~~~~~~~~~~^~~~
src/ssl_sock.c:9163:81: warning: unused parameter 'line' [-Wunused-parameter]
 9163 |                                      struct proxy *defpx, const char *file, int line,
      |                                                                             ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_dh_param_file':
src/ssl_sock.c:9198:60: warning: unused parameter 'section_type' [-Wunused-parameter]
 9198 | static int ssl_parse_global_dh_param_file(char **args, int section_type, struct proxy *curpx,
      |                                                        ~~~~^~~~~~~~~~~~
src/ssl_sock.c:9198:88: warning: unused parameter 'curpx' [-Wunused-parameter]
 9198 | static int ssl_parse_global_dh_param_file(char **args, int section_type, struct proxy *curpx,
      |                                                                          ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9199:54: warning: unused parameter 'defpx' [-Wunused-parameter]
 9199 |                                        struct proxy *defpx, const char *file, int line,
      |                                        ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9199:73: warning: unused parameter 'file' [-Wunused-parameter]
 9199 |                                        struct proxy *defpx, const char *file, int line,
      |                                                             ~~~~~~~~~~~~^~~~
src/ssl_sock.c:9199:83: warning: unused parameter 'line' [-Wunused-parameter]
 9199 |                                        struct proxy *defpx, const char *file, int line,
      |                                                                               ~~~~^~~~
src/ssl_sock.c: In function 'ssl_parse_global_default_dh':
src/ssl_sock.c:9220:57: warning: unused parameter 'section_type' [-Wunused-parameter]
 9220 | static int ssl_parse_global_default_dh(char **args, int section_type, struct proxy *curpx,
      |                                                     ~~~~^~~~~~~~~~~~
src/ssl_sock.c:9220:85: warning: unused parameter 'curpx' [-Wunused-parameter]
 9220 | static int ssl_parse_global_default_dh(char **args, int section_type, struct proxy *curpx,
      |                                                                       ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9221:54: warning: unused parameter 'defpx' [-Wunused-parameter]
 9221 |                                        struct proxy *defpx, const char *file, int line,
      |                                        ~~~~~~~~~~~~~~^~~~~
src/ssl_sock.c:9221:73: warning: unused parameter 'file' [-Wunused-parameter]
 9221 |                                        struct proxy *defpx, const char *file, int line,
      |                                                             ~~~~~~~~~~~~^~~~
src/ssl_sock.c:9221:83: warning: unused parameter 'line' [-Wunused-parameter]
 9221 |                                        struct proxy *defpx, const char *file, int line,
      |                                                                               ~~~~^~~~
src/ssl_sock.c: In function 'cli_parse_show_tlskeys':
src/ssl_sock.c:9413:54: warning: unused parameter 'payload' [-Wunused-parameter]
 9413 | static int cli_parse_show_tlskeys(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                ~~~~~~^~~~~~~
src/ssl_sock.c:9413:92: warning: unused parameter 'private' [-Wunused-parameter]
 9413 | static int cli_parse_show_tlskeys(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'cli_parse_set_tlskeys':
src/ssl_sock.c:9438:53: warning: unused parameter 'payload' [-Wunused-parameter]
 9438 | static int cli_parse_set_tlskeys(char **args, char *payload, struct appctx *appctx, void *private)
      |                                               ~~~~~~^~~~~~~
src/ssl_sock.c:9438:91: warning: unused parameter 'private' [-Wunused-parameter]
 9438 | static int cli_parse_set_tlskeys(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'cli_parse_set_ocspresponse':
src/ssl_sock.c:9482:96: warning: unused parameter 'private' [-Wunused-parameter]
 9482 | static int cli_parse_set_ocspresponse(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/ssl_sock.c: In function 'check_aes_gcm':
src/ssl_sock.c:9563:64: warning: unused parameter 'conv' [-Wunused-parameter]
 9563 | static int check_aes_gcm(struct arg *args, struct sample_conv *conv,
      |                                            ~~~~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:9564:21: warning: unused parameter 'file' [-Wunused-parameter]
 9564 |         const char *file, int line, char **err)
      |         ~~~~~~~~~~~~^~~~
src/ssl_sock.c:9564:31: warning: unused parameter 'line' [-Wunused-parameter]
 9564 |         const char *file, int line, char **err)
      |                           ~~~~^~~~
src/ssl_sock.c: In function 'sample_conv_aes_gcm_dec':
src/ssl_sock.c:9583:87: warning: unused parameter 'private' [-Wunused-parameter]
 9583 | static int sample_conv_aes_gcm_dec(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/ssl_sock.c: At top level:
src/ssl_sock.c:9677:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 9677 |  { { "show", "tls-keys", NULL }, "show tls-keys [id|*]: show tls keys references or dump tls ticket keys when id specified", cli_parse_show_tlskeys, NULL },
      |  ^
In file included from src/ssl_sock.c:63:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/ssl_sock.c:9678:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 9678 |  { { "set", "ssl", "tls-key", NULL }, "set ssl tls-key [id|keyfile] <tlskey>: set the next TLS key for the <id> or <keyfile> listener to <tlskey>", cli_parse_set_tlskeys, NULL },
      |  ^
In file included from src/ssl_sock.c:63:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/ssl_sock.c:9680:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 9680 |  { { "set", "ssl", "ocsp-response", NULL }, NULL, cli_parse_set_ocspresponse, NULL },
      |  ^
In file included from src/ssl_sock.c:63:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/ssl_sock.c:9681:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 9681 |  { { NULL }, NULL, NULL, NULL }
      |  ^
In file included from src/ssl_sock.c:63:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/ssl_sock.c:46:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/ssl_sock.c:9684:1: note: in expansion of macro 'INITCALL1'
 9684 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
src/ssl_sock.c:9690:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9690 |  { "ssl_bc",                 smp_fetch_ssl_fc,             0,                   NULL,    SMP_T_BOOL, SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9691:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9691 |  { "ssl_bc_alg_keysize",     smp_fetch_ssl_fc_alg_keysize, 0,                   NULL,    SMP_T_SINT, SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9693:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9693 |  { "ssl_bc_alpn",            smp_fetch_ssl_fc_alpn,        0,                   NULL,    SMP_T_STR,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9695:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9695 |  { "ssl_bc_cipher",          smp_fetch_ssl_fc_cipher,      0,                   NULL,    SMP_T_STR,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9697:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9697 |  { "ssl_bc_npn",             smp_fetch_ssl_fc_npn,         0,                   NULL,    SMP_T_STR,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9699:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9699 |  { "ssl_bc_is_resumed",      smp_fetch_ssl_fc_is_resumed,  0,                   NULL,    SMP_T_BOOL, SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9700:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9700 |  { "ssl_bc_protocol",        smp_fetch_ssl_fc_protocol,    0,                   NULL,    SMP_T_STR,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9701:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9701 |  { "ssl_bc_unique_id",       smp_fetch_ssl_fc_unique_id,   0,                   NULL,    SMP_T_BIN,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9702:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9702 |  { "ssl_bc_use_keysize",     smp_fetch_ssl_fc_use_keysize, 0,                   NULL,    SMP_T_SINT, SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9704:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9704 |  { "ssl_bc_session_id",      smp_fetch_ssl_fc_session_id,  0,                   NULL,    SMP_T_BIN,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9707:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9707 |  { "ssl_bc_client_random",   smp_fetch_ssl_fc_random,      0,                   NULL,    SMP_T_BIN,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9708:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9708 |  { "ssl_bc_server_random",   smp_fetch_ssl_fc_random,      0,                   NULL,    SMP_T_BIN,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9709:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9709 |  { "ssl_bc_session_key",     smp_fetch_ssl_fc_session_key, 0,                   NULL,    SMP_T_BIN,  SMP_USE_L5SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9711:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9711 |  { "ssl_c_ca_err",           smp_fetch_ssl_c_ca_err,       0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9712:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9712 |  { "ssl_c_ca_err_depth",     smp_fetch_ssl_c_ca_err_depth, 0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9713:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9713 |  { "ssl_c_der",              smp_fetch_ssl_x_der,          0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9714:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9714 |  { "ssl_c_err",              smp_fetch_ssl_c_err,          0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9715:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9715 |  { "ssl_c_i_dn",             smp_fetch_ssl_x_i_dn,         ARG2(0,STR,SINT),    NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9716:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9716 |  { "ssl_c_key_alg",          smp_fetch_ssl_x_key_alg,      0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9717:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9717 |  { "ssl_c_notafter",         smp_fetch_ssl_x_notafter,     0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9718:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9718 |  { "ssl_c_notbefore",        smp_fetch_ssl_x_notbefore,    0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9719:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9719 |  { "ssl_c_sig_alg",          smp_fetch_ssl_x_sig_alg,      0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9720:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9720 |  { "ssl_c_s_dn",             smp_fetch_ssl_x_s_dn,         ARG2(0,STR,SINT),    NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9721:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9721 |  { "ssl_c_serial",           smp_fetch_ssl_x_serial,       0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9722:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9722 |  { "ssl_c_sha1",             smp_fetch_ssl_x_sha1,         0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9723:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9723 |  { "ssl_c_used",             smp_fetch_ssl_c_used,         0,                   NULL,    SMP_T_BOOL, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9724:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9724 |  { "ssl_c_verify",           smp_fetch_ssl_c_verify,       0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9725:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9725 |  { "ssl_c_version",          smp_fetch_ssl_x_version,      0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9726:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9726 |  { "ssl_f_der",              smp_fetch_ssl_x_der,          0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9727:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9727 |  { "ssl_f_i_dn",             smp_fetch_ssl_x_i_dn,         ARG2(0,STR,SINT),    NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9728:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9728 |  { "ssl_f_key_alg",          smp_fetch_ssl_x_key_alg,      0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9729:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9729 |  { "ssl_f_notafter",         smp_fetch_ssl_x_notafter,     0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9730:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9730 |  { "ssl_f_notbefore",        smp_fetch_ssl_x_notbefore,    0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9731:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9731 |  { "ssl_f_sig_alg",          smp_fetch_ssl_x_sig_alg,      0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9732:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9732 |  { "ssl_f_s_dn",             smp_fetch_ssl_x_s_dn,         ARG2(0,STR,SINT),    NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9733:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9733 |  { "ssl_f_serial",           smp_fetch_ssl_x_serial,       0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9734:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9734 |  { "ssl_f_sha1",             smp_fetch_ssl_x_sha1,         0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9735:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9735 |  { "ssl_f_version",          smp_fetch_ssl_x_version,      0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9736:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9736 |  { "ssl_fc",                 smp_fetch_ssl_fc,             0,                   NULL,    SMP_T_BOOL, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9737:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9737 |  { "ssl_fc_alg_keysize",     smp_fetch_ssl_fc_alg_keysize, 0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9738:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9738 |  { "ssl_fc_cipher",          smp_fetch_ssl_fc_cipher,      0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9739:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9739 |  { "ssl_fc_has_crt",         smp_fetch_ssl_fc_has_crt,     0,                   NULL,    SMP_T_BOOL, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9740:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9740 |  { "ssl_fc_has_early",       smp_fetch_ssl_fc_has_early,   0,                   NULL,    SMP_T_BOOL, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9741:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9741 |  { "ssl_fc_has_sni",         smp_fetch_ssl_fc_has_sni,     0,                   NULL,    SMP_T_BOOL, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9742:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9742 |  { "ssl_fc_is_resumed",      smp_fetch_ssl_fc_is_resumed,  0,                   NULL,    SMP_T_BOOL, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9744:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9744 |  { "ssl_fc_npn",             smp_fetch_ssl_fc_npn,         0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9747:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9747 |  { "ssl_fc_alpn",            smp_fetch_ssl_fc_alpn,        0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9749:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9749 |  { "ssl_fc_protocol",        smp_fetch_ssl_fc_protocol,    0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9751:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9751 |  { "ssl_fc_unique_id",       smp_fetch_ssl_fc_unique_id,   0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9753:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9753 |  { "ssl_fc_use_keysize",     smp_fetch_ssl_fc_use_keysize, 0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9755:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9755 |  { "ssl_fc_session_id",      smp_fetch_ssl_fc_session_id,  0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9758:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9758 |  { "ssl_fc_client_random",   smp_fetch_ssl_fc_random,      0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9759:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9759 |  { "ssl_fc_server_random",   smp_fetch_ssl_fc_random,      0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9760:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9760 |  { "ssl_fc_session_key",     smp_fetch_ssl_fc_session_key, 0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9763:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9763 |  { "ssl_fc_sni",             smp_fetch_ssl_fc_sni,         0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9765:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9765 |  { "ssl_fc_cipherlist_bin",  smp_fetch_ssl_fc_cl_bin,      0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9766:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9766 |  { "ssl_fc_cipherlist_hex",  smp_fetch_ssl_fc_cl_hex,      0,                   NULL,    SMP_T_BIN,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9767:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9767 |  { "ssl_fc_cipherlist_str",  smp_fetch_ssl_fc_cl_str,      0,                   NULL,    SMP_T_STR,  SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9768:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9768 |  { "ssl_fc_cipherlist_xxh",  smp_fetch_ssl_fc_cl_xxh64,    0,                   NULL,    SMP_T_SINT, SMP_USE_L5CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/ssl_sock.c:9769:2: warning: missing initializer for field 'use' of 'struct sample_fetch' [-Wmissing-field-initializers]
 9769 |  { NULL, NULL, 0, 0, 0 },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:300:15: note: 'use' declared here
  300 |  unsigned int use;                         /* fetch source (SMP_USE_*) */
      |               ^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/ssl_sock.c:46:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/ssl_sock.c:9772:1: note: in expansion of macro 'INITCALL1'
 9772 | INITCALL1(STG_REGISTER, sample_register_fetches, &sample_fetch_keywords);
      | ^~~~~~~~~
src/ssl_sock.c:9778:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
 9778 |  { "ssl_fc_sni_end",         "ssl_fc_sni", PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/ssl_sock.c:9779:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
 9779 |  { "ssl_fc_sni_reg",         "ssl_fc_sni", PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/ssl_sock.c:46:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct acl_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/ssl_sock.c:9783:1: note: in expansion of macro 'INITCALL1'
 9783 | INITCALL1(STG_REGISTER, acl_register_keywords, &acl_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct bind_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/ssl_sock.c:9854:1: note: in expansion of macro 'INITCALL1'
 9854 | INITCALL1(STG_REGISTER, bind_register_keywords, &bind_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct srv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/ssl_sock.c:9906:1: note: in expansion of macro 'INITCALL1'
 9906 | INITCALL1(STG_REGISTER, srv_register_keywords, &srv_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/ssl_sock.c:9939:1: note: in expansion of macro 'INITCALL1'
 9939 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
src/ssl_sock.c:9944:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 9944 |  { "aes_gcm_dec", sample_conv_aes_gcm_dec, ARG4(4,SINT,STR,STR,STR), check_aes_gcm, SMP_T_BIN, SMP_T_BIN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/ssl_sock.c:9946:2: warning: missing initializer for field 'out_type' of 'struct sample_conv' [-Wmissing-field-initializers]
 9946 |  { NULL, NULL, 0, 0, 0 },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/sample.h:278:15: note: 'out_type' declared here
  278 |  unsigned int out_type;                    /* output sample type */
      |               ^~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/ssl_sock.c:46:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_conv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/ssl_sock.c:9949:1: note: in expansion of macro 'INITCALL1'
 9949 | INITCALL1(STG_REGISTER, sample_register_convs, &conv_kws);
      | ^~~~~~~~~
src/ssl_sock.c: In function 'ssl_action_wait_for_hs':
src/ssl_sock.c:9973:57: warning: unused parameter 'rule' [-Wunused-parameter]
 9973 | enum act_return ssl_action_wait_for_hs(struct act_rule *rule, struct proxy *px,
      |                                        ~~~~~~~~~~~~~~~~~^~~~
src/ssl_sock.c:9973:77: warning: unused parameter 'px' [-Wunused-parameter]
 9973 | enum act_return ssl_action_wait_for_hs(struct act_rule *rule, struct proxy *px,
      |                                                               ~~~~~~~~~~~~~~^~
src/ssl_sock.c:9974:84: warning: unused parameter 'flags' [-Wunused-parameter]
 9974 |                                        struct session *sess, struct stream *s, int flags)
      |                                                                                ~~~~^~~~~
src/ssl_sock.c: In function 'ssl_parse_wait_for_hs':
src/ssl_sock.c:9992:62: warning: unused parameter 'args' [-Wunused-parameter]
 9992 | static enum act_parse_ret ssl_parse_wait_for_hs(const char **args, int *orig_arg, struct proxy *px, struct act_rule *rule, char **err)
      |                                                 ~~~~~~~~~~~~~^~~~
src/ssl_sock.c:9992:73: warning: unused parameter 'orig_arg' [-Wunused-parameter]
 9992 | static enum act_parse_ret ssl_parse_wait_for_hs(const char **args, int *orig_arg, struct proxy *px, struct act_rule *rule, char **err)
      |                                                                    ~~~~~^~~~~~~~
src/ssl_sock.c:9992:97: warning: unused parameter 'px' [-Wunused-parameter]
 9992 | static enum act_parse_ret ssl_parse_wait_for_hs(const char **args, int *orig_arg, struct proxy *px, struct act_rule *rule, char **err)
      |                                                                                   ~~~~~~~~~~~~~~^~
src/ssl_sock.c:9992:131: warning: unused parameter 'err' [-Wunused-parameter]
 9992 | static enum act_parse_ret ssl_parse_wait_for_hs(const char **args, int *orig_arg, struct proxy *px, struct act_rule *rule, char **err)
      |                                                                                                                            ~~~~~~~^~~
src/ssl_sock.c: At top level:
src/ssl_sock.c:10000:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
10000 |  { "wait-for-handshake", ssl_parse_wait_for_hs },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/ssl_sock.c:57:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/ssl_sock.c:46:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/ssl_sock.c:10004:1: note: in expansion of macro 'INITCALL1'
10004 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_actions);
      | ^~~~~~~~~
src/ssl_sock.c: In function 'ssl_sock_sctl_free_func':
src/ssl_sock.c:10008:43: warning: unused parameter 'parent' [-Wunused-parameter]
10008 | static void ssl_sock_sctl_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                     ~~~~~~^~~~~~
src/ssl_sock.c:10008:78: warning: unused parameter 'ad' [-Wunused-parameter]
10008 | static void ssl_sock_sctl_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                                              ~~~~~~~~~~~~~~~~^~
src/ssl_sock.c:10008:86: warning: unused parameter 'idx' [-Wunused-parameter]
10008 | static void ssl_sock_sctl_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                                                                  ~~~~^~~
src/ssl_sock.c:10008:96: warning: unused parameter 'argl' [-Wunused-parameter]
10008 | static void ssl_sock_sctl_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                                                                           ~~~~~^~~~
src/ssl_sock.c:10008:108: warning: unused parameter 'argp' [-Wunused-parameter]
10008 | static void ssl_sock_sctl_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                                                                                      ~~~~~~^~~~
src/ssl_sock.c: In function 'ssl_sock_capture_free_func':
src/ssl_sock.c:10017:46: warning: unused parameter 'parent' [-Wunused-parameter]
10017 | static void ssl_sock_capture_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                        ~~~~~~^~~~~~
src/ssl_sock.c:10017:81: warning: unused parameter 'ad' [-Wunused-parameter]
10017 | static void ssl_sock_capture_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                                                 ~~~~~~~~~~~~~~~~^~
src/ssl_sock.c:10017:89: warning: unused parameter 'idx' [-Wunused-parameter]
10017 | static void ssl_sock_capture_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                                                                     ~~~~^~~
src/ssl_sock.c:10017:99: warning: unused parameter 'argl' [-Wunused-parameter]
10017 | static void ssl_sock_capture_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                                                                              ~~~~~^~~~
src/ssl_sock.c:10017:111: warning: unused parameter 'argp' [-Wunused-parameter]
10017 | static void ssl_sock_capture_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
      |                                                                                                         ~~~~~~^~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/flt_spoe.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from include/proto/filters.h:30,
                 from src/flt_spoe.c:32:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/filters.h:30,
                 from src/flt_spoe.c:32:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/flt_spoe.c:37:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/proto/session.h:35,
                 from src/flt_spoe.c:40:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/flt_spoe.c:42:
include/proto/spoe.h: In function 'spoe_encode_frag_buffer':
include/proto/spoe.h:84:30: warning: operand of ?: changes signedness from 'int' to 'size_t' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
   84 |  ret = (p+len < end) ? len : (end - p);
      |                              ^~~~~~~~~
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/flt_spoe.c:44:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/common/cfgparse.h:27,
                 from src/flt_spoe.c:15:
src/flt_spoe.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/flt_spoe.c:104:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  104 | DECLARE_STATIC_POOL(pool_head_spoe_ctx,    "spoe_ctx",    sizeof(struct spoe_context));
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/flt_spoe.c:105:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  105 | DECLARE_STATIC_POOL(pool_head_spoe_appctx, "spoe_appctx", sizeof(struct spoe_appctx));
      | ^~~~~~~~~~~~~~~~~~~
src/flt_spoe.c: In function 'spoe_process_appctx':
src/flt_spoe.c:1222:71: warning: unused parameter 'state' [-Wunused-parameter]
 1222 | spoe_process_appctx(struct task * task, void *context, unsigned short state)
      |                                                        ~~~~~~~~~~~~~~~^~~~~
src/flt_spoe.c: In function 'spoe_sig_stop':
src/flt_spoe.c:2962:35: warning: unused parameter 'sh' [-Wunused-parameter]
 2962 | spoe_sig_stop(struct sig_handler *sh)
      |               ~~~~~~~~~~~~~~~~~~~~^~
src/flt_spoe.c: In function 'spoe_init':
src/flt_spoe.c:2996:25: warning: unused parameter 'px' [-Wunused-parameter]
 2996 | spoe_init(struct proxy *px, struct flt_conf *fconf)
      |           ~~~~~~~~~~~~~~^~
src/flt_spoe.c: In function 'spoe_deinit':
src/flt_spoe.c:3025:27: warning: unused parameter 'px' [-Wunused-parameter]
 3025 | spoe_deinit(struct proxy *px, struct flt_conf *fconf)
      |             ~~~~~~~~~~~~~~^~
src/flt_spoe.c: In function 'spoe_init_per_thread':
src/flt_spoe.c:3117:36: warning: unused parameter 'p' [-Wunused-parameter]
 3117 | spoe_init_per_thread(struct proxy *p, struct flt_conf *fconf)
      |                      ~~~~~~~~~~~~~~^
src/flt_spoe.c: In function 'spoe_stop':
src/flt_spoe.c:3179:26: warning: unused parameter 's' [-Wunused-parameter]
 3179 | spoe_stop(struct stream *s, struct filter *filter)
      |           ~~~~~~~~~~~~~~~^
src/flt_spoe.c: In function 'spoe_end_analyze':
src/flt_spoe.c:3301:33: warning: unused parameter 's' [-Wunused-parameter]
 3301 | spoe_end_analyze(struct stream *s, struct filter *filter, struct channel *chn)
      |                  ~~~~~~~~~~~~~~~^
src/flt_spoe.c:3301:75: warning: unused parameter 'chn' [-Wunused-parameter]
 3301 | spoe_end_analyze(struct stream *s, struct filter *filter, struct channel *chn)
      |                                                           ~~~~~~~~~~~~~~~~^~~
src/flt_spoe.c: In function 'cfg_parse_spoe_agent':
src/flt_spoe.c:3718:32: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 3718 |       curagent->max_frame_size > MAX_FRAME_SIZE) {
      |                                ^
src/flt_spoe.c: In function 'cfg_parse_spoe_group':
src/flt_spoe.c:3789:70: warning: unused parameter 'kwm' [-Wunused-parameter]
 3789 | cfg_parse_spoe_group(const char *file, int linenum, char **args, int kwm)
      |                                                                  ~~~~^~~
src/flt_spoe.c: In function 'cfg_parse_spoe_message':
src/flt_spoe.c:3878:72: warning: unused parameter 'kwm' [-Wunused-parameter]
 3878 | cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
      |                                                                    ~~~~^~~
src/flt_spoe.c: In function 'parse_spoe_flt':
src/flt_spoe.c:4074:59: warning: unused parameter 'private' [-Wunused-parameter]
 4074 |                 struct flt_conf *fconf, char **err, void *private)
      |                                                     ~~~~~~^~~~~~~
src/flt_spoe.c: In function 'spoe_send_group':
src/flt_spoe.c:4503:19: warning: unused parameter 'sess' [-Wunused-parameter]
 4503 |   struct session *sess, struct stream *s, int flags)
      |   ~~~~~~~~~~~~~~~~^~~~
src/flt_spoe.c: In function 'parse_send_spoe_group':
src/flt_spoe.c:4673:71: warning: unused parameter 'px' [-Wunused-parameter]
 4673 | parse_send_spoe_group(const char **args, int *orig_arg, struct proxy *px,
      |                                                         ~~~~~~~~~~~~~~^~
In file included from include/common/cfgparse.h:27,
                 from src/flt_spoe.c:15:
src/flt_spoe.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct flt_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_spoe.c:4700:1: note: in expansion of macro 'INITCALL1'
 4700 | INITCALL1(STG_REGISTER, flt_register_keywords, &flt_kws);
      | ^~~~~~~~~
src/flt_spoe.c:4704:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 4704 |   { "send-spoe-group", parse_send_spoe_group },
      |   ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/flt_spoe.c:15:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_spoe.c:4709:1: note: in expansion of macro 'INITCALL1'
 4709 | INITCALL1(STG_REGISTER, tcp_req_cont_keywords_register, &tcp_req_action_kws);
      | ^~~~~~~~~
src/flt_spoe.c:4712:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 4712 |   { "send-spoe-group", parse_send_spoe_group },
      |   ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/flt_spoe.c:15:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_spoe.c:4717:1: note: in expansion of macro 'INITCALL1'
 4717 | INITCALL1(STG_REGISTER, tcp_res_cont_keywords_register, &tcp_res_action_kws);
      | ^~~~~~~~~
src/flt_spoe.c:4720:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 4720 |   { "send-spoe-group", parse_send_spoe_group },
      |   ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/flt_spoe.c:15:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_spoe.c:4725:1: note: in expansion of macro 'INITCALL1'
 4725 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_action_kws);
      | ^~~~~~~~~
src/flt_spoe.c:4728:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 4728 |   { "send-spoe-group", parse_send_spoe_group },
      |   ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_spoe.c:15:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/flt_spoe.c:15:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_spoe.c:4733:1: note: in expansion of macro 'INITCALL1'
 4733 | INITCALL1(STG_REGISTER, http_res_keywords_register, &http_res_action_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/stats.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stats.c:27:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/stats.c:32:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/stats.c:50:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/stats.c:65:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/proto/session.h:35,
                 from src/stats.c:68:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/ssl_sock.h:33,
                 from src/stats.c:69:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/stats.c: In function 'stats_putchk':
src/stats.c:265:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  265 |   if (chk->data >= channel_htx_recv_max(chn, htx))
      |                 ^~
src/stats.c: In function 'stats_emit_json_data_field':
src/stats.c:396:23: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'const long long int'} and 'long long unsigned int' [-Wsign-compare]
  396 |          if (f->u.s64 < JSON_INT_MIN || f->u.s64 > JSON_INT_MAX)
      |                       ^
src/stats.c:396:50: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'const long long int'} and 'long long unsigned int' [-Wsign-compare]
  396 |          if (f->u.s64 < JSON_INT_MIN || f->u.s64 > JSON_INT_MAX)
      |                                                  ^
src/stats.c:424:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  424 |  return !(old_len == out->data);
      |                   ^~
src/stats.c: In function 'stats_emit_json_field_tags':
src/stats.c:518:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  518 |  return !(old_len == out->data);
      |                   ^~
src/stats.c: In function 'stats_dump_json_info_fields':
src/stats.c:592:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  592 |   if (old_len == out->data)
      |               ^~
src/stats.c: In function 'stats_dump_fields_json':
src/stats.c:658:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  658 |   if (old_len == out->data)
      |               ^~
src/stats.c: In function 'stats_fill_sv_stats':
src/stats.c:1688:25: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1688 |  if (sv->max_idle_conns != -1)
      |                         ^~
src/stats.c: In function 'stats_process_http_post':
src/stats.c:2836:33: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 2836 |    if (htx_free_data_space(htx) <= global.tune.maxrewrite) {
      |                                 ^~
src/stats.c:2867:24: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 2867 |    if (c_room(&s->req) <= global.tune.maxrewrite) {
      |                        ^~
src/stats.c:2904:28: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2904 |    if ((plen > 0) && (plen <= sizeof(key))) {
      |                            ^~
src/stats.c: In function 'stats_dump_json_schema':
src/stats.c:3965:14: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3965 |  if (old_len == out->data) {
      |              ^~
src/stats.c: In function 'cli_parse_clear_counters':
src/stats.c:3990:56: warning: unused parameter 'payload' [-Wunused-parameter]
 3990 | static int cli_parse_clear_counters(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                  ~~~~~~^~~~~~~
src/stats.c:3990:94: warning: unused parameter 'private' [-Wunused-parameter]
 3990 | static int cli_parse_clear_counters(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/stats.c: In function 'cli_parse_show_info':
src/stats.c:4060:51: warning: unused parameter 'payload' [-Wunused-parameter]
 4060 | static int cli_parse_show_info(char **args, char *payload, struct appctx *appctx, void *private)
      |                                             ~~~~~~^~~~~~~
src/stats.c:4060:89: warning: unused parameter 'private' [-Wunused-parameter]
 4060 | static int cli_parse_show_info(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stats.c: In function 'cli_parse_show_stat':
src/stats.c:4074:51: warning: unused parameter 'payload' [-Wunused-parameter]
 4074 | static int cli_parse_show_stat(char **args, char *payload, struct appctx *appctx, void *private)
      |                                             ~~~~~~^~~~~~~
src/stats.c:4074:89: warning: unused parameter 'private' [-Wunused-parameter]
 4074 | static int cli_parse_show_stat(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stats.c: At top level:
src/stats.c:4132:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 4132 |  { { "clear", "counters",  NULL }, "clear counters : clear max statistics counters (add 'all' for all counters)", cli_parse_clear_counters, NULL, NULL },
      |  ^
In file included from src/stats.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/stats.c:4133:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 4133 |  { { "show", "info",  NULL }, "show info      : report information about the running process [json|typed]", cli_parse_show_info, cli_io_handler_dump_info, NULL },
      |  ^
In file included from src/stats.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/stats.c:4134:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 4134 |  { { "show", "stat",  NULL }, "show stat      : report counters for each proxy and server [json|typed]", cli_parse_show_stat, cli_io_handler_dump_stat, NULL },
      |  ^
In file included from src/stats.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/stats.c:4135:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 4135 |  { { "show", "schema",  "json", NULL }, "show schema json : report schema used for stats", NULL, cli_io_handler_dump_json_schema, NULL },
      |  ^
In file included from src/stats.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/stats.c:4136:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 4136 |  {{},}
      |  ^
In file included from src/stats.c:44:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stats.c:27:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stats.c:4139:1: note: in expansion of macro 'INITCALL1'
 4139 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
In function 'stats_dump_fields_html',
    inlined from 'stats_dump_one_line' at src/stats.c:1386:9:
src/stats.c:1109:12: warning: '__builtin_memcmp_eq' reading 5 bytes from a region of size 1 [-Wstringop-overflow=]
 1109 |   else if (memcmp(field_str(stats, ST_F_STATUS), "no check", 5) == 0) {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/stats.c:1106:7: warning: '__builtin_memcmp_eq' reading 5 bytes from a region of size 1 [-Wstringop-overflow=]
 1106 |   if (memcmp(field_str(stats, ST_F_STATUS), "MAINT", 5) == 0) {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/stats.c:1109:12: warning: '__builtin_memcmp_eq' reading 5 bytes from a region of size 1 [-Wstringop-overflow=]
 1109 |   else if (memcmp(field_str(stats, ST_F_STATUS), "no check", 5) == 0) {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/stats.c:1106:7: warning: '__builtin_memcmp_eq' reading 5 bytes from a region of size 1 [-Wstringop-overflow=]
 1106 |   if (memcmp(field_str(stats, ST_F_STATUS), "MAINT", 5) == 0) {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/haproxy.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/haproxy.c:78:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from src/haproxy.c:109:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/haproxy.c:109:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/haproxy.c:111:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/haproxy.c:111:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from src/haproxy.c:122:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
src/haproxy.c: In function 'sig_pause':
src/haproxy.c:798:43: warning: unused parameter 'sh' [-Wunused-parameter]
  798 | static void sig_pause(struct sig_handler *sh)
      |                       ~~~~~~~~~~~~~~~~~~~~^~
src/haproxy.c: In function 'sig_listen':
src/haproxy.c:807:44: warning: unused parameter 'sh' [-Wunused-parameter]
  807 | static void sig_listen(struct sig_handler *sh)
      |                        ~~~~~~~~~~~~~~~~~~~~^~
src/haproxy.c: In function 'sig_dump_state':
src/haproxy.c:815:48: warning: unused parameter 'sh' [-Wunused-parameter]
  815 | static void sig_dump_state(struct sig_handler *sh)
      |                            ~~~~~~~~~~~~~~~~~~~~^~
src/haproxy.c: In function 'dump':
src/haproxy.c:861:38: warning: unused parameter 'sh' [-Wunused-parameter]
  861 | static void dump(struct sig_handler *sh)
      |                  ~~~~~~~~~~~~~~~~~~~~^~
src/haproxy.c: In function 'get_old_sockets':
src/haproxy.c:1079:39: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1079 |     if (totlen / sizeof(int) + got_fd > fd_nb) {
      |                                       ^
src/haproxy.c: In function 'compute_ideal_maxpipes':
src/haproxy.c:1352:43: warning: operand of ?: changes signedness from 'int' to 'unsigned int' due to unsignedness of other operand [-Wsign-compare]
 1352 |     max = cur->fullconn ? cur->fullconn : global.maxconn;
      |                                           ^~~~~~~~~~~~~~
src/haproxy.c: In function 'manage_global_listener_queue':
src/haproxy.c:2774:72: warning: unused parameter 'context' [-Wunused-parameter]
 2774 | static struct task *manage_global_listener_queue(struct task *t, void *context, unsigned short state)
      |                                                                  ~~~~~~^~~~~~~
src/haproxy.c:2774:96: warning: unused parameter 'state' [-Wunused-parameter]
 2774 | static struct task *manage_global_listener_queue(struct task *t, void *context, unsigned short state)
      |                                                                                 ~~~~~~~~~~~~~~~^~~~~
src/haproxy.c: In function 'main':
src/haproxy.c:3069:21: warning: comparison of integer expressions of different signedness: 'rlim_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
 3069 |  if (limit.rlim_cur < global.maxsock) {
      |                     ^
src/haproxy.c:3156:12: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 3156 |       proc < MAX_PROCS &&       /* only the first 32/64 processes may be pinned */
      |            ^
src/haproxy.c:3407:10: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 3407 |    if (i < MAX_THREADS &&       /* only the first 32/64 threads may be pinned */
      |          ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/checks.o
In file included from src/checks.c:33:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/checks.c:37:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/checks.c:37:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/checks.c:37:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/checks.c:38:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/checks.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/checks.c:41:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/checks.c:41:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/checks.c:41:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/checks.c:41:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/checks.c:41:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/checks.c:41:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/checks.c:41:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/checks.c:41:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/checks.c:41:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/stats.h:27,
                 from src/checks.c:47:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/checks.c:41:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/stats.h:27,
                 from src/checks.c:47:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/checks.c:41:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/checks.c:41:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/checks.c:41:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/checks.c:41:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/checks.c:37:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/checks.c:41:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/checks.c:41:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/checks.c:49:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/checks.c:56:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/checks.c:58:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/checks.c:58:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/checks.c:58:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/checks.c:33:
src/checks.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/checks.c:73:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   73 | DECLARE_STATIC_POOL(pool_head_email_alert,   "email_alert",   sizeof(struct email_alert));
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/checks.c:74:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   74 | DECLARE_STATIC_POOL(pool_head_tcpcheck_rule, "tcpcheck_rule", sizeof(struct tcpcheck_rule));
      | ^~~~~~~~~~~~~~~~~~~
src/checks.c: In function 'chk_report_conn_err':
src/checks.c:627:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  627 |  if (check->type == PR_O2_TCPCHK_CHK) {
      |                  ^~
src/checks.c: In function 'event_srv_chk_io':
src/checks.c:724:51: warning: unused parameter 't' [-Wunused-parameter]
  724 | static struct task *event_srv_chk_io(struct task *t, void *ctx, unsigned short state)
      |                                      ~~~~~~~~~~~~~^
src/checks.c:724:80: warning: unused parameter 'state' [-Wunused-parameter]
  724 | static struct task *event_srv_chk_io(struct task *t, void *ctx, unsigned short state)
      |                                                                 ~~~~~~~~~~~~~~~^~~~~
src/checks.c: In function '__event_srv_chk_w':
src/checks.c:788:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  788 |  if (check->type == PR_O2_TCPCHK_CHK)
      |                  ^~
src/checks.c: In function '__event_srv_chk_r':
src/checks.c:859:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  859 |  if (check->type == PR_O2_TCPCHK_CHK)
      |                  ^~
src/checks.c: In function 'wake_srv_chk':
src/checks.c:1459:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1459 |  if (check->type == PR_O2_TCPCHK_CHK) {
      |                  ^~
src/checks.c: In function 'server_warmup':
src/checks.c:1527:81: warning: unused parameter 'state' [-Wunused-parameter]
 1527 | static struct task *server_warmup(struct task *t, void *context, unsigned short state)
      |                                                                  ~~~~~~~~~~~~~~~^~~~~
src/checks.c: In function 'connect_conn_chk':
src/checks.c:1601:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1601 |  if (check->type == PR_O2_TCPCHK_CHK) {
      |                  ^~
src/checks.c:1612:33: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1612 |  if (check->type && check->type != PR_O2_TCPCHK_CHK && !(check->state & CHK_ST_AGENT)) {
      |                                 ^~
src/checks.c:1693:39: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1693 |  if ((check->type == 0 || check->type == PR_O2_TCPCHK_CHK) &&
      |                                       ^~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/checks.c:33:
src/checks.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:260:2: note: in expansion of macro 'INITCALL1'
  260 |  INITCALL1(STG_LOCK, ha_spin_init, &(lock))
      |  ^~~~~~~~~
src/checks.c:1726:1: note: in expansion of macro '__decl_spinlock'
 1726 | __decl_spinlock(pid_list_lock);
      | ^~~~~~~~~~~~~~~
src/checks.c: In function 'sigchld_handler':
src/checks.c:1802:49: warning: unused parameter 'sh' [-Wunused-parameter]
 1802 | static void sigchld_handler(struct sig_handler *sh)
      |                             ~~~~~~~~~~~~~~~~~~~~^~
src/checks.c: In function 'process_chk_proc':
src/checks.c:2091:84: warning: unused parameter 'state' [-Wunused-parameter]
 2091 | static struct task *process_chk_proc(struct task *t, void *context, unsigned short state)
      |                                                                     ~~~~~~~~~~~~~~~^~~~~
src/checks.c: In function 'process_chk_conn':
src/checks.c:2223:84: warning: unused parameter 'state' [-Wunused-parameter]
 2223 | static struct task *process_chk_conn(struct task *t, void *context, unsigned short state)
      |                                                                     ~~~~~~~~~~~~~~~^~~~~
src/checks.c: In function 'process_chk':
src/checks.c:2433:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2433 |  if (check->type == PR_O2_EXT_CHK)
      |                  ^~
src/checks.c: In function 'start_check_task':
src/checks.c:2445:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2445 |  if (check->type == PR_O2_EXT_CHK)
      |                  ^~
src/checks.c: In function 'start_checks':
src/checks.c:2547:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2547 |     if (s->check.type == PR_O2_EXT_CHK) {
      |                       ^~
src/checks.c: In function 'tcpcheck_main':
src/checks.c:2825:40: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2825 |        check->current_step->string_len >= b_room(&check->bo))) {
      |                                        ^~
src/checks.c:3045:40: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3045 |    if (check->current_step->string_len >= b_size(&check->bo)) {
      |                                        ^~
src/checks.c:3055:40: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3055 |    if (check->current_step->string_len >= b_room(&check->bo))
      |                                        ^~
src/checks.c:3132:78: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 3132 |    if (!done && (check->current_step->string != NULL) && (b_data(&check->bi) < check->current_step->string_len) )
      |                                                                              ^
src/checks.c: In function 'send_email_alert':
src/checks.c:3628:21: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 3628 |  if (len < 0 || len >= sizeof(buf)) {
      |                     ^~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/checks.c:33:
src/checks.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:318:2: note: in expansion of macro 'INITCALL1'
  318 |  INITCALL1(STG_REGISTER, hap_register_post_check, (fct))
      |  ^~~~~~~~~
src/checks.c:3682:1: note: in expansion of macro 'REGISTER_POST_CHECK'
 3682 | REGISTER_POST_CHECK(start_checks);
      | ^~~~~~~~~~~~~~~~~~~
src/checks.c: In function '__health_adjust':
src/checks.c:446:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  446 |    if (s->check.health > s->check.rise)
      |       ^
src/checks.c:451:3: note: here
  451 |   case HANA_ONERR_FAILCHK:
      |   ^~~~
src/checks.c: In function 'process_chk_conn':
src/checks.c:2297:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2297 |    check->state |= CHK_ST_PORT_MISS;
src/checks.c:2298:3: note: here
 2298 |   case SF_ERR_PRXCOND:
      |   ^~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/http_fetch.o
In file included from src/http_fetch.c:20:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from src/http_fetch.c:26:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/http_fetch.h:27,
                 from src/http_fetch.c:37:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/http_fetch.h:27,
                 from src/http_fetch.c:37:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/http_fetch.c:24:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_fetch.c:32:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/http_fetch.c:39:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/proto_http.h:29,
                 from src/http_fetch.c:41:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/http_fetch.c:41:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/http_fetch.c:20:
src/http_fetch.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:326:2: note: in expansion of macro 'INITCALL1'
  326 |  INITCALL1(STG_REGISTER, hap_register_per_thread_alloc, (fct))
      |  ^~~~~~~~~
src/http_fetch.c:80:1: note: in expansion of macro 'REGISTER_PER_THREAD_ALLOC'
   80 | REGISTER_PER_THREAD_ALLOC(alloc_raw_htx_chunk_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:338:2: note: in expansion of macro 'INITCALL1'
  338 |  INITCALL1(STG_REGISTER, hap_register_per_thread_free, (fct))
      |  ^~~~~~~~~
src/http_fetch.c:81:1: note: in expansion of macro 'REGISTER_PER_THREAD_FREE'
   81 | REGISTER_PER_THREAD_FREE(free_raw_htx_chunk_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
src/http_fetch.c: In function 'smp_prefetch_http':
src/http_fetch.c:339:37: warning: unused parameter 'px' [-Wunused-parameter]
  339 | int smp_prefetch_http(struct proxy *px, struct stream *s, unsigned int opt,
      |                       ~~~~~~~~~~~~~~^~
src/http_fetch.c:339:72: warning: unused parameter 'opt' [-Wunused-parameter]
  339 | int smp_prefetch_http(struct proxy *px, struct stream *s, unsigned int opt,
      |                                                           ~~~~~~~~~~~~~^~~
src/http_fetch.c: In function 'smp_fetch_meth':
src/http_fetch.c:442:45: warning: unused parameter 'args' [-Wunused-parameter]
  442 | static int smp_fetch_meth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                           ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:442:83: warning: unused parameter 'kw' [-Wunused-parameter]
  442 | static int smp_fetch_meth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                       ~~~~~~~~~~~~^~
src/http_fetch.c:442:93: warning: unused parameter 'private' [-Wunused-parameter]
  442 | static int smp_fetch_meth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_rqver':
src/http_fetch.c:495:46: warning: unused parameter 'args' [-Wunused-parameter]
  495 | static int smp_fetch_rqver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                            ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:495:84: warning: unused parameter 'kw' [-Wunused-parameter]
  495 | static int smp_fetch_rqver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                        ~~~~~~~~~~~~^~
src/http_fetch.c:495:94: warning: unused parameter 'private' [-Wunused-parameter]
  495 | static int smp_fetch_rqver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_stver':
src/http_fetch.c:535:46: warning: unused parameter 'args' [-Wunused-parameter]
  535 | static int smp_fetch_stver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                            ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:535:84: warning: unused parameter 'kw' [-Wunused-parameter]
  535 | static int smp_fetch_stver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                        ~~~~~~~~~~~~^~
src/http_fetch.c:535:94: warning: unused parameter 'private' [-Wunused-parameter]
  535 | static int smp_fetch_stver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_stcode':
src/http_fetch.c:576:47: warning: unused parameter 'args' [-Wunused-parameter]
  576 | static int smp_fetch_stcode(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                             ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:576:85: warning: unused parameter 'kw' [-Wunused-parameter]
  576 | static int smp_fetch_stcode(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                         ~~~~~~~~~~~~^~
src/http_fetch.c:576:95: warning: unused parameter 'private' [-Wunused-parameter]
  576 | static int smp_fetch_stcode(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_uniqueid':
src/http_fetch.c:610:49: warning: unused parameter 'args' [-Wunused-parameter]
  610 | static int smp_fetch_uniqueid(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                               ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:610:87: warning: unused parameter 'kw' [-Wunused-parameter]
  610 | static int smp_fetch_uniqueid(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                           ~~~~~~~~~~~~^~
src/http_fetch.c:610:97: warning: unused parameter 'private' [-Wunused-parameter]
  610 | static int smp_fetch_uniqueid(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                           ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_hdrs':
src/http_fetch.c:633:45: warning: unused parameter 'args' [-Wunused-parameter]
  633 | static int smp_fetch_hdrs(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                           ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:633:83: warning: unused parameter 'kw' [-Wunused-parameter]
  633 | static int smp_fetch_hdrs(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                       ~~~~~~~~~~~~^~
src/http_fetch.c:633:93: warning: unused parameter 'private' [-Wunused-parameter]
  633 | static int smp_fetch_hdrs(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_hdrs_bin':
src/http_fetch.c:700:49: warning: unused parameter 'args' [-Wunused-parameter]
  700 | static int smp_fetch_hdrs_bin(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                               ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:700:87: warning: unused parameter 'kw' [-Wunused-parameter]
  700 | static int smp_fetch_hdrs_bin(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                           ~~~~~~~~~~~~^~
src/http_fetch.c:700:97: warning: unused parameter 'private' [-Wunused-parameter]
  700 | static int smp_fetch_hdrs_bin(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                           ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_body':
src/http_fetch.c:906:14: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
  906 |   if (block1 > b_wrap(&chn->buf) - body)
      |              ^
src/http_fetch.c:862:45: warning: unused parameter 'args' [-Wunused-parameter]
  862 | static int smp_fetch_body(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                           ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:862:83: warning: unused parameter 'kw' [-Wunused-parameter]
  862 | static int smp_fetch_body(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                       ~~~~~~~~~~~~^~
src/http_fetch.c:862:93: warning: unused parameter 'private' [-Wunused-parameter]
  862 | static int smp_fetch_body(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_body_len':
src/http_fetch.c:934:49: warning: unused parameter 'args' [-Wunused-parameter]
  934 | static int smp_fetch_body_len(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                               ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:934:87: warning: unused parameter 'kw' [-Wunused-parameter]
  934 | static int smp_fetch_body_len(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                           ~~~~~~~~~~~~^~
src/http_fetch.c:934:97: warning: unused parameter 'private' [-Wunused-parameter]
  934 | static int smp_fetch_body_len(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                           ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_body_size':
src/http_fetch.c:982:50: warning: unused parameter 'args' [-Wunused-parameter]
  982 | static int smp_fetch_body_size(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:982:88: warning: unused parameter 'kw' [-Wunused-parameter]
  982 | static int smp_fetch_body_size(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~~~~~~~^~
src/http_fetch.c:982:98: warning: unused parameter 'private' [-Wunused-parameter]
  982 | static int smp_fetch_body_size(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                            ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_url':
src/http_fetch.c:1029:44: warning: unused parameter 'args' [-Wunused-parameter]
 1029 | static int smp_fetch_url(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:1029:82: warning: unused parameter 'kw' [-Wunused-parameter]
 1029 | static int smp_fetch_url(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/http_fetch.c:1029:92: warning: unused parameter 'private' [-Wunused-parameter]
 1029 | static int smp_fetch_url(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_url_ip':
src/http_fetch.c:1060:47: warning: unused parameter 'args' [-Wunused-parameter]
 1060 | static int smp_fetch_url_ip(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                             ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:1060:85: warning: unused parameter 'kw' [-Wunused-parameter]
 1060 | static int smp_fetch_url_ip(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                         ~~~~~~~~~~~~^~
src/http_fetch.c:1060:95: warning: unused parameter 'private' [-Wunused-parameter]
 1060 | static int smp_fetch_url_ip(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_url_port':
src/http_fetch.c:1093:49: warning: unused parameter 'args' [-Wunused-parameter]
 1093 | static int smp_fetch_url_port(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                               ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:1093:87: warning: unused parameter 'kw' [-Wunused-parameter]
 1093 | static int smp_fetch_url_port(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                           ~~~~~~~~~~~~^~
src/http_fetch.c:1093:97: warning: unused parameter 'private' [-Wunused-parameter]
 1093 | static int smp_fetch_url_port(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                           ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_fhdr':
src/http_fetch.c:1132:93: warning: unused parameter 'private' [-Wunused-parameter]
 1132 | static int smp_fetch_fhdr(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_fhdr_cnt':
src/http_fetch.c:1236:97: warning: unused parameter 'private' [-Wunused-parameter]
 1236 | static int smp_fetch_fhdr_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                           ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_hdr_names':
src/http_fetch.c:1294:98: warning: unused parameter 'private' [-Wunused-parameter]
 1294 | static int smp_fetch_hdr_names(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                            ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_hdr':
src/http_fetch.c:1366:92: warning: unused parameter 'private' [-Wunused-parameter]
 1366 | static int smp_fetch_hdr(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_hdr_cnt':
src/http_fetch.c:1480:96: warning: unused parameter 'private' [-Wunused-parameter]
 1480 | static int smp_fetch_hdr_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_path':
src/http_fetch.c:1591:45: warning: unused parameter 'args' [-Wunused-parameter]
 1591 | static int smp_fetch_path(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                           ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:1591:83: warning: unused parameter 'kw' [-Wunused-parameter]
 1591 | static int smp_fetch_path(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                       ~~~~~~~~~~~~^~
src/http_fetch.c:1591:93: warning: unused parameter 'private' [-Wunused-parameter]
 1591 | static int smp_fetch_path(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_base32':
src/http_fetch.c:1737:47: warning: unused parameter 'args' [-Wunused-parameter]
 1737 | static int smp_fetch_base32(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                             ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:1737:85: warning: unused parameter 'kw' [-Wunused-parameter]
 1737 | static int smp_fetch_base32(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                         ~~~~~~~~~~~~^~
src/http_fetch.c:1737:95: warning: unused parameter 'private' [-Wunused-parameter]
 1737 | static int smp_fetch_base32(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_query':
src/http_fetch.c:1863:46: warning: unused parameter 'args' [-Wunused-parameter]
 1863 | static int smp_fetch_query(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                            ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:1863:84: warning: unused parameter 'kw' [-Wunused-parameter]
 1863 | static int smp_fetch_query(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                        ~~~~~~~~~~~~^~
src/http_fetch.c:1863:94: warning: unused parameter 'private' [-Wunused-parameter]
 1863 | static int smp_fetch_query(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_proto_http':
src/http_fetch.c:1904:51: warning: unused parameter 'args' [-Wunused-parameter]
 1904 | static int smp_fetch_proto_http(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                 ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:1904:89: warning: unused parameter 'kw' [-Wunused-parameter]
 1904 | static int smp_fetch_proto_http(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~~~~~~~^~
src/http_fetch.c:1904:99: warning: unused parameter 'private' [-Wunused-parameter]
 1904 | static int smp_fetch_proto_http(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                             ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_http_first_req':
src/http_fetch.c:1929:55: warning: unused parameter 'args' [-Wunused-parameter]
 1929 | static int smp_fetch_http_first_req(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                     ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:1929:93: warning: unused parameter 'kw' [-Wunused-parameter]
 1929 | static int smp_fetch_http_first_req(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~~~~~~~^~
src/http_fetch.c:1929:103: warning: unused parameter 'private' [-Wunused-parameter]
 1929 | static int smp_fetch_http_first_req(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                 ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_http_auth':
src/http_fetch.c:1937:88: warning: unused parameter 'kw' [-Wunused-parameter]
 1937 | static int smp_fetch_http_auth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~~~~~~~^~
src/http_fetch.c:1937:98: warning: unused parameter 'private' [-Wunused-parameter]
 1937 | static int smp_fetch_http_auth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                            ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_http_auth_grp':
src/http_fetch.c:1967:92: warning: unused parameter 'kw' [-Wunused-parameter]
 1967 | static int smp_fetch_http_auth_grp(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                ~~~~~~~~~~~~^~
src/http_fetch.c:1967:102: warning: unused parameter 'private' [-Wunused-parameter]
 1967 | static int smp_fetch_http_auth_grp(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_capture_req_hdr':
src/http_fetch.c:2012:94: warning: unused parameter 'kw' [-Wunused-parameter]
 2012 | static int smp_fetch_capture_req_hdr(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~~~~~~~^~
src/http_fetch.c:2012:104: warning: unused parameter 'private' [-Wunused-parameter]
 2012 | static int smp_fetch_capture_req_hdr(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                  ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_capture_res_hdr':
src/http_fetch.c:2036:94: warning: unused parameter 'kw' [-Wunused-parameter]
 2036 | static int smp_fetch_capture_res_hdr(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~~~~~~~^~
src/http_fetch.c:2036:104: warning: unused parameter 'private' [-Wunused-parameter]
 2036 | static int smp_fetch_capture_res_hdr(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                  ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_capture_req_method':
src/http_fetch.c:2058:59: warning: unused parameter 'args' [-Wunused-parameter]
 2058 | static int smp_fetch_capture_req_method(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                         ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:2058:97: warning: unused parameter 'kw' [-Wunused-parameter]
 2058 | static int smp_fetch_capture_req_method(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~~~~~~~^~
src/http_fetch.c:2058:107: warning: unused parameter 'private' [-Wunused-parameter]
 2058 | static int smp_fetch_capture_req_method(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                     ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_capture_req_uri':
src/http_fetch.c:2084:56: warning: unused parameter 'args' [-Wunused-parameter]
 2084 | static int smp_fetch_capture_req_uri(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                      ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:2084:94: warning: unused parameter 'kw' [-Wunused-parameter]
 2084 | static int smp_fetch_capture_req_uri(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~~~~~~~^~
src/http_fetch.c:2084:104: warning: unused parameter 'private' [-Wunused-parameter]
 2084 | static int smp_fetch_capture_req_uri(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                  ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_capture_req_ver':
src/http_fetch.c:2122:56: warning: unused parameter 'args' [-Wunused-parameter]
 2122 | static int smp_fetch_capture_req_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                      ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:2122:94: warning: unused parameter 'kw' [-Wunused-parameter]
 2122 | static int smp_fetch_capture_req_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~~~~~~~^~
src/http_fetch.c:2122:104: warning: unused parameter 'private' [-Wunused-parameter]
 2122 | static int smp_fetch_capture_req_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                  ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_capture_res_ver':
src/http_fetch.c:2144:56: warning: unused parameter 'args' [-Wunused-parameter]
 2144 | static int smp_fetch_capture_res_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                      ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:2144:94: warning: unused parameter 'kw' [-Wunused-parameter]
 2144 | static int smp_fetch_capture_res_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~~~~~~~^~
src/http_fetch.c:2144:104: warning: unused parameter 'private' [-Wunused-parameter]
 2144 | static int smp_fetch_capture_res_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                  ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_cookie':
src/http_fetch.c:2302:19: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2302 |     if (ctx->vlen < args->data.str.data + 1)
      |                   ^
src/http_fetch.c:2173:95: warning: unused parameter 'private' [-Wunused-parameter]
 2173 | static int smp_fetch_cookie(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_cookie_cnt':
src/http_fetch.c:2427:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2427 |     if (ctx.vlen < args->data.str.data + 1)
      |                  ^
src/http_fetch.c:2349:99: warning: unused parameter 'private' [-Wunused-parameter]
 2349 | static int smp_fetch_cookie_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                             ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_param':
src/http_fetch.c:2476:90: warning: unused parameter 'args' [-Wunused-parameter]
 2476 | static int smp_fetch_param(char delim, const char *name, int name_len, const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                        ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:2476:128: warning: unused parameter 'kw' [-Wunused-parameter]
 2476 | static int smp_fetch_param(char delim, const char *name, int name_len, const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                                    ~~~~~~~~~~~~^~
src/http_fetch.c:2476:138: warning: unused parameter 'private' [-Wunused-parameter]
 2476 | static int smp_fetch_param(char delim, const char *name, int name_len, const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                                                                    ~~~~~~^~~~~~~
src/http_fetch.c: In function 'smp_fetch_body_param':
src/http_fetch.c:2660:15: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 2660 |    if (block1 > b_wrap(&chn->buf) - body)
      |               ^
src/http_fetch.c: In function 'smp_fetch_url32':
src/http_fetch.c:2713:46: warning: unused parameter 'args' [-Wunused-parameter]
 2713 | static int smp_fetch_url32(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                            ~~~~~~~~~~~~~~~~~~^~~~
src/http_fetch.c:2713:84: warning: unused parameter 'kw' [-Wunused-parameter]
 2713 | static int smp_fetch_url32(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                        ~~~~~~~~~~~~^~
src/http_fetch.c:2713:94: warning: unused parameter 'private' [-Wunused-parameter]
 2713 | static int smp_fetch_url32(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/http_fetch.c: At top level:
src/http_fetch.c:2856:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2856 |  { "base",               smp_fetch_base,               0,                NULL,   SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2857:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2857 |  { "base32",             smp_fetch_base32,             0,                NULL,   SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2858:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2858 |  { "base32+src",         smp_fetch_base32_src,         0,                NULL,   SMP_T_BIN,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2861:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2861 |  { "capture.req.hdr",    smp_fetch_capture_req_hdr,    ARG1(1,SINT),     NULL,   SMP_T_STR,  SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2864:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2864 |  { "capture.req.method", smp_fetch_capture_req_method, 0,                NULL,   SMP_T_STR,  SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2865:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2865 |  { "capture.req.uri",    smp_fetch_capture_req_uri,    0,                NULL,   SMP_T_STR,  SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2866:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2866 |  { "capture.req.ver",    smp_fetch_capture_req_ver,    0,                NULL,   SMP_T_STR,  SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2868:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2868 |  { "capture.res.hdr",    smp_fetch_capture_res_hdr,    ARG1(1,SINT),     NULL,   SMP_T_STR,  SMP_USE_HRSHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2869:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2869 |  { "capture.res.ver",    smp_fetch_capture_res_ver,    0,                NULL,   SMP_T_STR,  SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2875:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2875 |  { "cook",               smp_fetch_cookie,             ARG1(0,STR),      NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2876:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2876 |  { "cookie",             smp_fetch_chn_cookie,         ARG1(0,STR),      NULL,    SMP_T_STR,  SMP_USE_HRQHV|SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2877:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2877 |  { "cook_cnt",           smp_fetch_cookie_cnt,         ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2878:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2878 |  { "cook_val",           smp_fetch_cookie_val,         ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2884:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2884 |  { "hdr",                smp_fetch_chn_hdr,            ARG2(0,STR,SINT), val_hdr, SMP_T_STR,  SMP_USE_HRQHV|SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2885:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2885 |  { "hdr_cnt",            smp_fetch_hdr_cnt,            ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2886:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2886 |  { "hdr_ip",             smp_fetch_hdr_ip,             ARG2(0,STR,SINT), val_hdr, SMP_T_IPV4, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2887:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2887 |  { "hdr_val",            smp_fetch_hdr_val,            ARG2(0,STR,SINT), val_hdr, SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2889:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2889 |  { "http_auth",          smp_fetch_http_auth,          ARG1(1,USR),      NULL,    SMP_T_BOOL, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2890:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2890 |  { "http_auth_group",    smp_fetch_http_auth_grp,      ARG1(1,USR),      NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2891:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2891 |  { "http_first_req",     smp_fetch_http_first_req,     0,                NULL,    SMP_T_BOOL, SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2892:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2892 |  { "method",             smp_fetch_meth,               0,                NULL,    SMP_T_METH, SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2893:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2893 |  { "path",               smp_fetch_path,               0,                NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2894:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2894 |  { "query",              smp_fetch_query,              0,                NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2897:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2897 |  { "req.proto_http",     smp_fetch_proto_http,         0,                NULL,    SMP_T_BOOL, SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2898:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2898 |  { "req_proto_http",     smp_fetch_proto_http,         0,                NULL,    SMP_T_BOOL, SMP_USE_HRQHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2901:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2901 |  { "req.ver",            smp_fetch_rqver,              0,                NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2902:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2902 |  { "req_ver",            smp_fetch_rqver,              0,                NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2904:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2904 |  { "req.body",           smp_fetch_body,               0,                NULL,    SMP_T_BIN,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2905:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2905 |  { "req.body_len",       smp_fetch_body_len,           0,                NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2906:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2906 |  { "req.body_size",      smp_fetch_body_size,          0,                NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2907:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2907 |  { "req.body_param",     smp_fetch_body_param,         ARG1(0,STR),      NULL,    SMP_T_BIN,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2909:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2909 |  { "req.hdrs",           smp_fetch_hdrs,               0,                NULL,    SMP_T_BIN,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2910:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2910 |  { "req.hdrs_bin",       smp_fetch_hdrs_bin,           0,                NULL,    SMP_T_BIN,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2913:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2913 |  { "res.ver",            smp_fetch_stver,              0,                NULL,    SMP_T_STR,  SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2914:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2914 |  { "resp_ver",           smp_fetch_stver,              0,                NULL,    SMP_T_STR,  SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2917:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2917 |  { "req.cook",           smp_fetch_cookie,             ARG1(0,STR),      NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2918:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2918 |  { "req.cook_cnt",       smp_fetch_cookie_cnt,         ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2919:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2919 |  { "req.cook_val",       smp_fetch_cookie_val,         ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2921:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2921 |  { "req.fhdr",           smp_fetch_fhdr,               ARG2(0,STR,SINT), val_hdr, SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2922:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2922 |  { "req.fhdr_cnt",       smp_fetch_fhdr_cnt,           ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2923:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2923 |  { "req.hdr",            smp_fetch_hdr,                ARG2(0,STR,SINT), val_hdr, SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2924:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2924 |  { "req.hdr_cnt",        smp_fetch_hdr_cnt,            ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2925:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2925 |  { "req.hdr_ip",         smp_fetch_hdr_ip,             ARG2(0,STR,SINT), val_hdr, SMP_T_IPV4, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2926:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2926 |  { "req.hdr_names",      smp_fetch_hdr_names,          ARG1(0,STR),      NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2927:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2927 |  { "req.hdr_val",        smp_fetch_hdr_val,            ARG2(0,STR,SINT), val_hdr, SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2930:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2930 |  { "res.cook",           smp_fetch_cookie,             ARG1(0,STR),      NULL,    SMP_T_STR,  SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2931:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2931 |  { "res.cook_cnt",       smp_fetch_cookie_cnt,         ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2932:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2932 |  { "res.cook_val",       smp_fetch_cookie_val,         ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2934:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2934 |  { "res.fhdr",           smp_fetch_fhdr,               ARG2(0,STR,SINT), val_hdr, SMP_T_STR,  SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2935:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2935 |  { "res.fhdr_cnt",       smp_fetch_fhdr_cnt,           ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2936:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2936 |  { "res.hdr",            smp_fetch_hdr,                ARG2(0,STR,SINT), val_hdr, SMP_T_STR,  SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2937:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2937 |  { "res.hdr_cnt",        smp_fetch_hdr_cnt,            ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2938:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2938 |  { "res.hdr_ip",         smp_fetch_hdr_ip,             ARG2(0,STR,SINT), val_hdr, SMP_T_IPV4, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2939:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2939 |  { "res.hdr_names",      smp_fetch_hdr_names,          ARG1(0,STR),      NULL,    SMP_T_STR,  SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2940:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2940 |  { "res.hdr_val",        smp_fetch_hdr_val,            ARG2(0,STR,SINT), val_hdr, SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2943:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2943 |  { "scook",              smp_fetch_cookie,             ARG1(0,STR),      NULL,    SMP_T_STR,  SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2944:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2944 |  { "scook_cnt",          smp_fetch_cookie_cnt,         ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2945:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2945 |  { "scook_val",          smp_fetch_cookie_val,         ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2946:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2946 |  { "set-cookie",         smp_fetch_cookie,             ARG1(0,STR),      NULL,    SMP_T_STR,  SMP_USE_HRSHV }, /* deprecated */
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2949:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2949 |  { "shdr",               smp_fetch_hdr,                ARG2(0,STR,SINT), val_hdr, SMP_T_STR,  SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2950:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2950 |  { "shdr_cnt",           smp_fetch_hdr_cnt,            ARG1(0,STR),      NULL,    SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2951:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2951 |  { "shdr_ip",            smp_fetch_hdr_ip,             ARG2(0,STR,SINT), val_hdr, SMP_T_IPV4, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2952:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2952 |  { "shdr_val",           smp_fetch_hdr_val,            ARG2(0,STR,SINT), val_hdr, SMP_T_SINT, SMP_USE_HRSHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2954:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2954 |  { "status",             smp_fetch_stcode,             0,                NULL,    SMP_T_SINT, SMP_USE_HRSHP },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2955:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2955 |  { "unique-id",          smp_fetch_uniqueid,           0,                NULL,    SMP_T_STR,  SMP_SRC_L4SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2956:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2956 |  { "url",                smp_fetch_url,                0,                NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2957:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2957 |  { "url32",              smp_fetch_url32,              0,                NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2958:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2958 |  { "url32+src",          smp_fetch_url32_src,          0,                NULL,    SMP_T_BIN,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2959:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2959 |  { "url_ip",             smp_fetch_url_ip,             0,                NULL,    SMP_T_IPV4, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2960:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2960 |  { "url_port",           smp_fetch_url_port,           0,                NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2961:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2961 |  { "url_param",          smp_fetch_url_param,          ARG2(0,STR,STR),  NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2962:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2962 |  { "urlp"     ,          smp_fetch_url_param,          ARG2(0,STR,STR),  NULL,    SMP_T_STR,  SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/http_fetch.c:2963:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2963 |  { "urlp_val",           smp_fetch_url_param_val,      ARG2(0,STR,STR),  NULL,    SMP_T_SINT, SMP_USE_HRQHV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_fetch.c:32:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/http_fetch.c:20:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/http_fetch.c:2967:1: note: in expansion of macro 'INITCALL1'
 2967 | INITCALL1(STG_REGISTER, sample_register_fetches, &sample_fetch_keywords);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/proto_http.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/proto_http.c:27:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from src/proto_http.c:52:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/proto_http.c:52:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/proto_http.c:66:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from src/proto_http.c:70:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/proto_http.c:73:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/common/cfgparse.h:27,
                 from src/proto_http.c:27:
src/proto_http.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/proto_http.c:282:1: note: in expansion of macro 'DECLARE_POOL'
  282 | DECLARE_POOL(pool_head_http_txn, "http_txn", sizeof(struct http_txn));
      | ^~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/proto_http.c:283:1: note: in expansion of macro 'DECLARE_POOL'
  283 | DECLARE_POOL(pool_head_uniqueid, "uniqueid", UNIQUEID_LEN);
      | ^~~~~~~~~~~~
src/proto_http.c: In function 'http_change_connection_header':
src/proto_http.c:466:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  466 |  if (wanted == (txn->flags & (TX_CON_CLO_SET|TX_CON_KAL_SET)))
      |             ^~
src/proto_http.c: In function 'http_adjust_conn_mode':
src/proto_http.c:513:37: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  513 |  if ((txn->flags & TX_CON_WANT_MSK) < tmp)
      |                                     ^
src/proto_http.c: In function 'http_wait_for_request':
src/proto_http.c:630:31: warning: operand of ?: changes signedness from 'int' to 'size_t' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  630 |   eol = sol + (msg->sl.rq.l ? msg->sl.rq.l : ci_data(req));
      |                               ^~~~~~~~~~~~
src/proto_http.c:1104:59: warning: comparison of integer expressions of different signedness: 'long long unsigned int' and 'long long int' [-Wsign-compare]
 1104 |   if ((msg->flags & HTTP_MSGF_CNT_LEN) && (msg->chunk_len != cl)) {
      |                                                           ^~
src/proto_http.c: In function 'http_handle_stats':
src/proto_http.c:1198:57: warning: unused parameter 'req' [-Wunused-parameter]
 1198 | int http_handle_stats(struct stream *s, struct channel *req)
      |                                         ~~~~~~~~~~~~~~~~^~~
src/proto_http.c: In function 'http_wait_for_request_body':
src/proto_http.c:3234:28: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
 3234 |   if (http_body_bytes(msg) < msg->body_len)
      |                            ^
src/proto_http.c:3277:27: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
 3277 |  if (http_body_bytes(msg) >= msg->body_len)   /* we have enough bytes now */
      |                           ^~
src/proto_http.c: In function 'http_wait_for_response':
src/proto_http.c:4288:31: warning: operand of ?: changes signedness from 'int' to 'size_t' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
 4288 |   eol = sol + (msg->sl.st.l ? msg->sl.st.l : ci_data(rep));
      |                               ^~~~~~~~~~~~
src/proto_http.c:4771:59: warning: comparison of integer expressions of different signedness: 'long long unsigned int' and 'long long int' [-Wsign-compare]
 4771 |   if ((msg->flags & HTTP_MSGF_CNT_LEN) && (msg->chunk_len != cl)) {
      |                                                           ^~
src/proto_http.c: In function 'stats_check_uri':
src/proto_http.c:7092:46: warning: unused parameter 'si' [-Wunused-parameter]
 7092 | int stats_check_uri(struct stream_interface *si, struct http_txn *txn, struct proxy *backend)
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/proto_http.c: In function 'http_capture_bad_message':
src/proto_http.c:7163:44: warning: operand of ?: changes signedness from 'int' to 'unsigned int' due to unsignedness of other operand [-Wsign-compare]
 7163 |                      (msg->err_pos >= 0) ? msg->err_pos : msg->next,
      |                                            ^~~~~~~~~~~~
src/proto_http.c: In function 'http_msg_forward_chunked_body':
src/proto_http.c:5523:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
 5523 |    msg->msg_state = HTTP_MSG_CHUNK_CRLF;
      |    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
src/proto_http.c:5526:3: note: here
 5526 |   case HTTP_MSG_CHUNK_CRLF:
      |   ^~~~
src/proto_http.c:5538:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
 5538 |    msg->msg_state = HTTP_MSG_CHUNK_SIZE;
      |    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
src/proto_http.c:5541:3: note: here
 5541 |   case HTTP_MSG_CHUNK_SIZE:
      |   ^~~~
src/proto_http.c:5565:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
 5565 |    msg->msg_state = HTTP_MSG_TRAILERS;
      |    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
src/proto_http.c:5568:3: note: here
 5568 |   case HTTP_MSG_TRAILERS:
      |   ^~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/stick_table.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/stick_table.c:26:
ebtree/ebsttree.h: In function '__ebst_insert':
ebtree/ebsttree.h:149:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  149 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:176:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  176 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:177:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  177 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:178:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  178 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:179:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  179 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:216:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebsttree.h:262:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  262 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from src/stick_table.c:26:
ebtree/ebsttree.h:278:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  278 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:279:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  279 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:303:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  303 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:319:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  319 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/channel.h:32,
                 from include/proto/proto_http.h:29,
                 from src/stick_table.c:36:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/proto_http.h:29,
                 from src/stick_table.c:36:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/stick_table.c:36:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/stick_table.c:41:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/stick_table.c:41:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/stick_table.c: In function 'process_table_expire':
src/stick_table.c:616:91: warning: unused parameter 'state' [-Wunused-parameter]
  616 | static struct task *process_table_expire(struct task *task, void *context, unsigned short state)
      |                                                                            ~~~~~~~~~~~~~~~^~~~~
src/stick_table.c: In function 'sample_conv_in_table':
src/stick_table.c:1102:84: warning: unused parameter 'private' [-Wunused-parameter]
 1102 | static int sample_conv_in_table(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                              ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_bytes_in_rate':
src/stick_table.c:1129:95: warning: unused parameter 'private' [-Wunused-parameter]
 1129 | static int sample_conv_table_bytes_in_rate(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_conn_cnt':
src/stick_table.c:1166:90: warning: unused parameter 'private' [-Wunused-parameter]
 1166 | static int sample_conv_table_conn_cnt(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_conn_cur':
src/stick_table.c:1202:90: warning: unused parameter 'private' [-Wunused-parameter]
 1202 | static int sample_conv_table_conn_cur(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_conn_rate':
src/stick_table.c:1238:91: warning: unused parameter 'private' [-Wunused-parameter]
 1238 | static int sample_conv_table_conn_rate(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_bytes_out_rate':
src/stick_table.c:1275:96: warning: unused parameter 'private' [-Wunused-parameter]
 1275 | static int sample_conv_table_bytes_out_rate(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_gpt0':
src/stick_table.c:1312:86: warning: unused parameter 'private' [-Wunused-parameter]
 1312 | static int sample_conv_table_gpt0(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_gpc0':
src/stick_table.c:1348:86: warning: unused parameter 'private' [-Wunused-parameter]
 1348 | static int sample_conv_table_gpc0(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_gpc0_rate':
src/stick_table.c:1384:91: warning: unused parameter 'private' [-Wunused-parameter]
 1384 | static int sample_conv_table_gpc0_rate(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_gpc1':
src/stick_table.c:1421:86: warning: unused parameter 'private' [-Wunused-parameter]
 1421 | static int sample_conv_table_gpc1(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_gpc1_rate':
src/stick_table.c:1457:91: warning: unused parameter 'private' [-Wunused-parameter]
 1457 | static int sample_conv_table_gpc1_rate(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_http_err_cnt':
src/stick_table.c:1494:94: warning: unused parameter 'private' [-Wunused-parameter]
 1494 | static int sample_conv_table_http_err_cnt(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_http_err_rate':
src/stick_table.c:1530:95: warning: unused parameter 'private' [-Wunused-parameter]
 1530 | static int sample_conv_table_http_err_rate(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_http_req_cnt':
src/stick_table.c:1567:94: warning: unused parameter 'private' [-Wunused-parameter]
 1567 | static int sample_conv_table_http_req_cnt(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_http_req_rate':
src/stick_table.c:1603:95: warning: unused parameter 'private' [-Wunused-parameter]
 1603 | static int sample_conv_table_http_req_rate(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_kbytes_in':
src/stick_table.c:1640:91: warning: unused parameter 'private' [-Wunused-parameter]
 1640 | static int sample_conv_table_kbytes_in(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_kbytes_out':
src/stick_table.c:1676:92: warning: unused parameter 'private' [-Wunused-parameter]
 1676 | static int sample_conv_table_kbytes_out(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_server_id':
src/stick_table.c:1712:91: warning: unused parameter 'private' [-Wunused-parameter]
 1712 | static int sample_conv_table_server_id(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_sess_cnt':
src/stick_table.c:1748:90: warning: unused parameter 'private' [-Wunused-parameter]
 1748 | static int sample_conv_table_sess_cnt(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_sess_rate':
src/stick_table.c:1784:91: warning: unused parameter 'private' [-Wunused-parameter]
 1784 | static int sample_conv_table_sess_rate(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/stick_table.c: In function 'sample_conv_table_trackers':
src/stick_table.c:1821:90: warning: unused parameter 'private' [-Wunused-parameter]
 1821 | static int sample_conv_table_trackers(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'action_inc_gpc0':
src/stick_table.c:1849:77: warning: unused parameter 'px' [-Wunused-parameter]
 1849 | static enum act_return action_inc_gpc0(struct act_rule *rule, struct proxy *px,
      |                                                               ~~~~~~~~~~~~~~^~
src/stick_table.c:1850:84: warning: unused parameter 'flags' [-Wunused-parameter]
 1850 |                                        struct session *sess, struct stream *s, int flags)
      |                                                                                ~~~~^~~~~
src/stick_table.c: In function 'parse_inc_gpc0':
src/stick_table.c:1896:85: warning: unused parameter 'px' [-Wunused-parameter]
 1896 | static enum act_parse_ret parse_inc_gpc0(const char **args, int *arg, struct proxy *px,
      |                                                                       ~~~~~~~~~~~~~~^~
src/stick_table.c: In function 'action_inc_gpc1':
src/stick_table.c:1931:77: warning: unused parameter 'px' [-Wunused-parameter]
 1931 | static enum act_return action_inc_gpc1(struct act_rule *rule, struct proxy *px,
      |                                                               ~~~~~~~~~~~~~~^~
src/stick_table.c:1932:84: warning: unused parameter 'flags' [-Wunused-parameter]
 1932 |                                        struct session *sess, struct stream *s, int flags)
      |                                                                                ~~~~^~~~~
src/stick_table.c: In function 'parse_inc_gpc1':
src/stick_table.c:1978:85: warning: unused parameter 'px' [-Wunused-parameter]
 1978 | static enum act_parse_ret parse_inc_gpc1(const char **args, int *arg, struct proxy *px,
      |                                                                       ~~~~~~~~~~~~~~^~
src/stick_table.c: In function 'action_set_gpt0':
src/stick_table.c:2013:77: warning: unused parameter 'px' [-Wunused-parameter]
 2013 | static enum act_return action_set_gpt0(struct act_rule *rule, struct proxy *px,
      |                                                               ~~~~~~~~~~~~~~^~
src/stick_table.c:2014:84: warning: unused parameter 'flags' [-Wunused-parameter]
 2014 |                                        struct session *sess, struct stream *s, int flags)
      |                                                                                ~~~~^~~~~
src/stick_table.c: In function 'parse_set_gpt0':
src/stick_table.c:2054:85: warning: unused parameter 'px' [-Wunused-parameter]
 2054 | static enum act_parse_ret parse_set_gpt0(const char **args, int *arg, struct proxy *px,
      |                                                                       ~~~~~~~~~~~~~~^~
src/stick_table.c: In function 'smp_fetch_table_cnt':
src/stick_table.c:2103:77: warning: unused parameter 'kw' [-Wunused-parameter]
 2103 | smp_fetch_table_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/stick_table.c:2103:87: warning: unused parameter 'private' [-Wunused-parameter]
 2103 | smp_fetch_table_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_table_avl':
src/stick_table.c:2115:77: warning: unused parameter 'kw' [-Wunused-parameter]
 2115 | smp_fetch_table_avl(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/stick_table.c:2115:87: warning: unused parameter 'private' [-Wunused-parameter]
 2115 | smp_fetch_table_avl(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_tracked':
src/stick_table.c:2247:88: warning: unused parameter 'private' [-Wunused-parameter]
 2247 | smp_fetch_sc_tracked(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_get_gpt0':
src/stick_table.c:2270:89: warning: unused parameter 'private' [-Wunused-parameter]
 2270 | smp_fetch_sc_get_gpt0(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_get_gpc0':
src/stick_table.c:2311:89: warning: unused parameter 'private' [-Wunused-parameter]
 2311 | smp_fetch_sc_get_gpc0(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_get_gpc1':
src/stick_table.c:2352:89: warning: unused parameter 'private' [-Wunused-parameter]
 2352 | smp_fetch_sc_get_gpc1(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_gpc0_rate':
src/stick_table.c:2393:90: warning: unused parameter 'private' [-Wunused-parameter]
 2393 | smp_fetch_sc_gpc0_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_gpc1_rate':
src/stick_table.c:2434:90: warning: unused parameter 'private' [-Wunused-parameter]
 2434 | smp_fetch_sc_gpc1_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_inc_gpc0':
src/stick_table.c:2474:89: warning: unused parameter 'private' [-Wunused-parameter]
 2474 | smp_fetch_sc_inc_gpc0(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_inc_gpc1':
src/stick_table.c:2527:89: warning: unused parameter 'private' [-Wunused-parameter]
 2527 | smp_fetch_sc_inc_gpc1(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_clr_gpc0':
src/stick_table.c:2580:89: warning: unused parameter 'private' [-Wunused-parameter]
 2580 | smp_fetch_sc_clr_gpc0(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_clr_gpc1':
src/stick_table.c:2624:89: warning: unused parameter 'private' [-Wunused-parameter]
 2624 | smp_fetch_sc_clr_gpc1(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_conn_cnt':
src/stick_table.c:2668:89: warning: unused parameter 'private' [-Wunused-parameter]
 2668 | smp_fetch_sc_conn_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_conn_rate':
src/stick_table.c:2709:90: warning: unused parameter 'private' [-Wunused-parameter]
 2709 | smp_fetch_sc_conn_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_src_updt_conn_cnt':
src/stick_table.c:2749:85: warning: unused parameter 'kw' [-Wunused-parameter]
 2749 | smp_fetch_src_updt_conn_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                         ~~~~~~~~~~~~^~
src/stick_table.c:2749:95: warning: unused parameter 'private' [-Wunused-parameter]
 2749 | smp_fetch_src_updt_conn_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_conn_cur':
src/stick_table.c:2801:89: warning: unused parameter 'private' [-Wunused-parameter]
 2801 | smp_fetch_sc_conn_cur(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_sess_cnt':
src/stick_table.c:2840:89: warning: unused parameter 'private' [-Wunused-parameter]
 2840 | smp_fetch_sc_sess_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_sess_rate':
src/stick_table.c:2878:90: warning: unused parameter 'private' [-Wunused-parameter]
 2878 | smp_fetch_sc_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_http_req_cnt':
src/stick_table.c:2918:93: warning: unused parameter 'private' [-Wunused-parameter]
 2918 | smp_fetch_sc_http_req_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_http_req_rate':
src/stick_table.c:2957:94: warning: unused parameter 'private' [-Wunused-parameter]
 2957 | smp_fetch_sc_http_req_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_http_err_cnt':
src/stick_table.c:2997:93: warning: unused parameter 'private' [-Wunused-parameter]
 2997 | smp_fetch_sc_http_err_cnt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_http_err_rate':
src/stick_table.c:3036:94: warning: unused parameter 'private' [-Wunused-parameter]
 3036 | smp_fetch_sc_http_err_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_kbytes_in':
src/stick_table.c:3076:90: warning: unused parameter 'private' [-Wunused-parameter]
 3076 | smp_fetch_sc_kbytes_in(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_bytes_in_rate':
src/stick_table.c:3115:94: warning: unused parameter 'private' [-Wunused-parameter]
 3115 | smp_fetch_sc_bytes_in_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_kbytes_out':
src/stick_table.c:3155:91: warning: unused parameter 'private' [-Wunused-parameter]
 3155 | smp_fetch_sc_kbytes_out(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_bytes_out_rate':
src/stick_table.c:3194:95: warning: unused parameter 'private' [-Wunused-parameter]
 3194 | smp_fetch_sc_bytes_out_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/stick_table.c: In function 'smp_fetch_sc_trackers':
src/stick_table.c:3233:89: warning: unused parameter 'private' [-Wunused-parameter]
 3233 | smp_fetch_sc_trackers(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/stick_table.c: In function 'cli_parse_table_req':
src/stick_table.c:3632:51: warning: unused parameter 'payload' [-Wunused-parameter]
 3632 | static int cli_parse_table_req(char **args, char *payload, struct appctx *appctx, void *private)
      |                                             ~~~~~~^~~~~~~
src/stick_table.c: At top level:
src/stick_table.c:3864:2: warning: missing initializer for field 'level' of 'struct cli_kw' [-Wmissing-field-initializers]
 3864 |  { { "clear", "table", NULL }, "clear table    : remove an entry from a table", cli_parse_table_req, cli_io_handler_table, cli_release_show_table, (void *)STK_CLI_ACT_CLR },
      |  ^
In file included from src/stick_table.c:28:
include/types/cli.h:34:6: note: 'level' declared here
   34 |  int level; /* this is the level needed to show the keyword usage and to use it */
      |      ^~~~~
src/stick_table.c:3865:2: warning: missing initializer for field 'level' of 'struct cli_kw' [-Wmissing-field-initializers]
 3865 |  { { "set",   "table", NULL }, "set table [id] : update or create a table entry's data", cli_parse_table_req, cli_io_handler_table, NULL, (void *)STK_CLI_ACT_SET },
      |  ^
In file included from src/stick_table.c:28:
include/types/cli.h:34:6: note: 'level' declared here
   34 |  int level; /* this is the level needed to show the keyword usage and to use it */
      |      ^~~~~
src/stick_table.c:3866:2: warning: missing initializer for field 'level' of 'struct cli_kw' [-Wmissing-field-initializers]
 3866 |  { { "show",  "table", NULL }, "show table [id]: report table usage stats or dump this table's contents", cli_parse_table_req, cli_io_handler_table, cli_release_show_table, (void *)STK_CLI_ACT_SHOW },
      |  ^
In file included from src/stick_table.c:28:
include/types/cli.h:34:6: note: 'level' declared here
   34 |  int level; /* this is the level needed to show the keyword usage and to use it */
      |      ^~~~~
src/stick_table.c:3867:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 3867 |  {{},}
      |  ^
In file included from src/stick_table.c:28:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:3870:1: note: in expansion of macro 'INITCALL1'
 3870 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
src/stick_table.c:3873:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3873 |  { "sc-inc-gpc0", parse_inc_gpc0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3874:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3874 |  { "sc-inc-gpc1", parse_inc_gpc1, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3875:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3875 |  { "sc-set-gpt0", parse_set_gpt0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:3879:1: note: in expansion of macro 'INITCALL1'
 3879 | INITCALL1(STG_REGISTER, tcp_req_conn_keywords_register, &tcp_conn_kws);
      | ^~~~~~~~~
src/stick_table.c:3882:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3882 |  { "sc-inc-gpc0", parse_inc_gpc0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3883:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3883 |  { "sc-inc-gpc1", parse_inc_gpc1, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3884:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3884 |  { "sc-set-gpt0", parse_set_gpt0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:3888:1: note: in expansion of macro 'INITCALL1'
 3888 | INITCALL1(STG_REGISTER, tcp_req_sess_keywords_register, &tcp_sess_kws);
      | ^~~~~~~~~
src/stick_table.c:3891:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3891 |  { "sc-inc-gpc0", parse_inc_gpc0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3892:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3892 |  { "sc-inc-gpc1", parse_inc_gpc1, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3893:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3893 |  { "sc-set-gpt0", parse_set_gpt0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:3897:1: note: in expansion of macro 'INITCALL1'
 3897 | INITCALL1(STG_REGISTER, tcp_req_cont_keywords_register, &tcp_req_kws);
      | ^~~~~~~~~
src/stick_table.c:3900:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3900 |  { "sc-inc-gpc0", parse_inc_gpc0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3901:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3901 |  { "sc-inc-gpc1", parse_inc_gpc1, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3902:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3902 |  { "sc-set-gpt0", parse_set_gpt0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:3906:1: note: in expansion of macro 'INITCALL1'
 3906 | INITCALL1(STG_REGISTER, tcp_res_cont_keywords_register, &tcp_res_kws);
      | ^~~~~~~~~
src/stick_table.c:3909:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3909 |  { "sc-inc-gpc0", parse_inc_gpc0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3910:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3910 |  { "sc-inc-gpc1", parse_inc_gpc1, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3911:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3911 |  { "sc-set-gpt0", parse_set_gpt0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:3915:1: note: in expansion of macro 'INITCALL1'
 3915 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_kws);
      | ^~~~~~~~~
src/stick_table.c:3918:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3918 |  { "sc-inc-gpc0", parse_inc_gpc0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3919:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3919 |  { "sc-inc-gpc1", parse_inc_gpc1, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/stick_table.c:3920:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 3920 |  { "sc-set-gpt0", parse_set_gpt0, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:3924:1: note: in expansion of macro 'INITCALL1'
 3924 | INITCALL1(STG_REGISTER, http_res_keywords_register, &http_res_kws);
      | ^~~~~~~~~
src/stick_table.c:3938:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3938 |  { "sc_bytes_in_rate",   smp_fetch_sc_bytes_in_rate,  ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3939:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3939 |  { "sc_bytes_out_rate",  smp_fetch_sc_bytes_out_rate, ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3940:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3940 |  { "sc_clr_gpc0",        smp_fetch_sc_clr_gpc0,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3941:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3941 |  { "sc_clr_gpc1",        smp_fetch_sc_clr_gpc1,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3942:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3942 |  { "sc_conn_cnt",        smp_fetch_sc_conn_cnt,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3943:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3943 |  { "sc_conn_cur",        smp_fetch_sc_conn_cur,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3944:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3944 |  { "sc_conn_rate",       smp_fetch_sc_conn_rate,      ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3945:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3945 |  { "sc_get_gpt0",        smp_fetch_sc_get_gpt0,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3946:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3946 |  { "sc_get_gpc0",        smp_fetch_sc_get_gpc0,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3947:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3947 |  { "sc_get_gpc1",        smp_fetch_sc_get_gpc1,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3948:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3948 |  { "sc_gpc0_rate",       smp_fetch_sc_gpc0_rate,      ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3949:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3949 |  { "sc_gpc1_rate",       smp_fetch_sc_gpc1_rate,      ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3950:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3950 |  { "sc_http_err_cnt",    smp_fetch_sc_http_err_cnt,   ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3951:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3951 |  { "sc_http_err_rate",   smp_fetch_sc_http_err_rate,  ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3952:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3952 |  { "sc_http_req_cnt",    smp_fetch_sc_http_req_cnt,   ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3953:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3953 |  { "sc_http_req_rate",   smp_fetch_sc_http_req_rate,  ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3954:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3954 |  { "sc_inc_gpc0",        smp_fetch_sc_inc_gpc0,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3955:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3955 |  { "sc_inc_gpc1",        smp_fetch_sc_inc_gpc1,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3956:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3956 |  { "sc_kbytes_in",       smp_fetch_sc_kbytes_in,      ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3957:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3957 |  { "sc_kbytes_out",      smp_fetch_sc_kbytes_out,     ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3958:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3958 |  { "sc_sess_cnt",        smp_fetch_sc_sess_cnt,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3959:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3959 |  { "sc_sess_rate",       smp_fetch_sc_sess_rate,      ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3960:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3960 |  { "sc_tracked",         smp_fetch_sc_tracked,        ARG2(1,SINT,TAB), NULL, SMP_T_BOOL, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3961:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3961 |  { "sc_trackers",        smp_fetch_sc_trackers,       ARG2(1,SINT,TAB), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3962:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3962 |  { "sc0_bytes_in_rate",  smp_fetch_sc_bytes_in_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3963:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3963 |  { "sc0_bytes_out_rate", smp_fetch_sc_bytes_out_rate, ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3964:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3964 |  { "sc0_clr_gpc0",       smp_fetch_sc_clr_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3965:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3965 |  { "sc0_clr_gpc1",       smp_fetch_sc_clr_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3966:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3966 |  { "sc0_conn_cnt",       smp_fetch_sc_conn_cnt,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3967:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3967 |  { "sc0_conn_cur",       smp_fetch_sc_conn_cur,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3968:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3968 |  { "sc0_conn_rate",      smp_fetch_sc_conn_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3969:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3969 |  { "sc0_get_gpt0",       smp_fetch_sc_get_gpt0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3970:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3970 |  { "sc0_get_gpc0",       smp_fetch_sc_get_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3971:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3971 |  { "sc0_get_gpc1",       smp_fetch_sc_get_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3972:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3972 |  { "sc0_gpc0_rate",      smp_fetch_sc_gpc0_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3973:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3973 |  { "sc0_gpc1_rate",      smp_fetch_sc_gpc1_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3974:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3974 |  { "sc0_http_err_cnt",   smp_fetch_sc_http_err_cnt,   ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3975:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3975 |  { "sc0_http_err_rate",  smp_fetch_sc_http_err_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3976:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3976 |  { "sc0_http_req_cnt",   smp_fetch_sc_http_req_cnt,   ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3977:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3977 |  { "sc0_http_req_rate",  smp_fetch_sc_http_req_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3978:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3978 |  { "sc0_inc_gpc0",       smp_fetch_sc_inc_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3979:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3979 |  { "sc0_inc_gpc1",       smp_fetch_sc_inc_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3980:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3980 |  { "sc0_kbytes_in",      smp_fetch_sc_kbytes_in,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3981:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3981 |  { "sc0_kbytes_out",     smp_fetch_sc_kbytes_out,     ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3982:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3982 |  { "sc0_sess_cnt",       smp_fetch_sc_sess_cnt,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3983:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3983 |  { "sc0_sess_rate",      smp_fetch_sc_sess_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3984:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3984 |  { "sc0_tracked",        smp_fetch_sc_tracked,        ARG1(0,TAB),      NULL, SMP_T_BOOL, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3985:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3985 |  { "sc0_trackers",       smp_fetch_sc_trackers,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3986:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3986 |  { "sc1_bytes_in_rate",  smp_fetch_sc_bytes_in_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3987:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3987 |  { "sc1_bytes_out_rate", smp_fetch_sc_bytes_out_rate, ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3988:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3988 |  { "sc1_clr_gpc0",       smp_fetch_sc_clr_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3989:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3989 |  { "sc1_clr_gpc1",       smp_fetch_sc_clr_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3990:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3990 |  { "sc1_conn_cnt",       smp_fetch_sc_conn_cnt,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3991:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3991 |  { "sc1_conn_cur",       smp_fetch_sc_conn_cur,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3992:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3992 |  { "sc1_conn_rate",      smp_fetch_sc_conn_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3993:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3993 |  { "sc1_get_gpt0",       smp_fetch_sc_get_gpt0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3994:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3994 |  { "sc1_get_gpc0",       smp_fetch_sc_get_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3995:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3995 |  { "sc1_get_gpc1",       smp_fetch_sc_get_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3996:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3996 |  { "sc1_gpc0_rate",      smp_fetch_sc_gpc0_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3997:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3997 |  { "sc1_gpc1_rate",      smp_fetch_sc_gpc1_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3998:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3998 |  { "sc1_http_err_cnt",   smp_fetch_sc_http_err_cnt,   ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:3999:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3999 |  { "sc1_http_err_rate",  smp_fetch_sc_http_err_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4000:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4000 |  { "sc1_http_req_cnt",   smp_fetch_sc_http_req_cnt,   ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4001:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4001 |  { "sc1_http_req_rate",  smp_fetch_sc_http_req_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4002:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4002 |  { "sc1_inc_gpc0",       smp_fetch_sc_inc_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4003:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4003 |  { "sc1_inc_gpc1",       smp_fetch_sc_inc_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4004:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4004 |  { "sc1_kbytes_in",      smp_fetch_sc_kbytes_in,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4005:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4005 |  { "sc1_kbytes_out",     smp_fetch_sc_kbytes_out,     ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4006:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4006 |  { "sc1_sess_cnt",       smp_fetch_sc_sess_cnt,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4007:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4007 |  { "sc1_sess_rate",      smp_fetch_sc_sess_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4008:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4008 |  { "sc1_tracked",        smp_fetch_sc_tracked,        ARG1(0,TAB),      NULL, SMP_T_BOOL, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4009:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4009 |  { "sc1_trackers",       smp_fetch_sc_trackers,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4010:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4010 |  { "sc2_bytes_in_rate",  smp_fetch_sc_bytes_in_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4011:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4011 |  { "sc2_bytes_out_rate", smp_fetch_sc_bytes_out_rate, ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4012:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4012 |  { "sc2_clr_gpc0",       smp_fetch_sc_clr_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4013:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4013 |  { "sc2_clr_gpc1",       smp_fetch_sc_clr_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4014:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4014 |  { "sc2_conn_cnt",       smp_fetch_sc_conn_cnt,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4015:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4015 |  { "sc2_conn_cur",       smp_fetch_sc_conn_cur,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4016:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4016 |  { "sc2_conn_rate",      smp_fetch_sc_conn_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4017:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4017 |  { "sc2_get_gpt0",       smp_fetch_sc_get_gpt0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4018:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4018 |  { "sc2_get_gpc0",       smp_fetch_sc_get_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4019:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4019 |  { "sc2_get_gpc1",       smp_fetch_sc_get_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4020:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4020 |  { "sc2_gpc0_rate",      smp_fetch_sc_gpc0_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4021:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4021 |  { "sc2_gpc1_rate",      smp_fetch_sc_gpc1_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4022:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4022 |  { "sc2_http_err_cnt",   smp_fetch_sc_http_err_cnt,   ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4023:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4023 |  { "sc2_http_err_rate",  smp_fetch_sc_http_err_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4024:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4024 |  { "sc2_http_req_cnt",   smp_fetch_sc_http_req_cnt,   ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4025:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4025 |  { "sc2_http_req_rate",  smp_fetch_sc_http_req_rate,  ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4026:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4026 |  { "sc2_inc_gpc0",       smp_fetch_sc_inc_gpc0,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4027:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4027 |  { "sc2_inc_gpc1",       smp_fetch_sc_inc_gpc1,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4028:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4028 |  { "sc2_kbytes_in",      smp_fetch_sc_kbytes_in,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4029:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4029 |  { "sc2_kbytes_out",     smp_fetch_sc_kbytes_out,     ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4030:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4030 |  { "sc2_sess_cnt",       smp_fetch_sc_sess_cnt,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4031:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4031 |  { "sc2_sess_rate",      smp_fetch_sc_sess_rate,      ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4032:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4032 |  { "sc2_tracked",        smp_fetch_sc_tracked,        ARG1(0,TAB),      NULL, SMP_T_BOOL, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4033:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4033 |  { "sc2_trackers",       smp_fetch_sc_trackers,       ARG1(0,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4034:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4034 |  { "src_bytes_in_rate",  smp_fetch_sc_bytes_in_rate,  ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4035:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4035 |  { "src_bytes_out_rate", smp_fetch_sc_bytes_out_rate, ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4036:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4036 |  { "src_clr_gpc0",       smp_fetch_sc_clr_gpc0,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4037:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4037 |  { "src_clr_gpc1",       smp_fetch_sc_clr_gpc1,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4038:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4038 |  { "src_conn_cnt",       smp_fetch_sc_conn_cnt,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4039:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4039 |  { "src_conn_cur",       smp_fetch_sc_conn_cur,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4040:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4040 |  { "src_conn_rate",      smp_fetch_sc_conn_rate,      ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4041:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4041 |  { "src_get_gpt0",       smp_fetch_sc_get_gpt0,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4042:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4042 |  { "src_get_gpc0",       smp_fetch_sc_get_gpc0,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4043:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4043 |  { "src_get_gpc1",       smp_fetch_sc_get_gpc1,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4044:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4044 |  { "src_gpc0_rate",      smp_fetch_sc_gpc0_rate,      ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4045:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4045 |  { "src_gpc1_rate",      smp_fetch_sc_gpc1_rate,      ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4046:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4046 |  { "src_http_err_cnt",   smp_fetch_sc_http_err_cnt,   ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4047:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4047 |  { "src_http_err_rate",  smp_fetch_sc_http_err_rate,  ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4048:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4048 |  { "src_http_req_cnt",   smp_fetch_sc_http_req_cnt,   ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4049:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4049 |  { "src_http_req_rate",  smp_fetch_sc_http_req_rate,  ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4050:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4050 |  { "src_inc_gpc0",       smp_fetch_sc_inc_gpc0,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4051:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4051 |  { "src_inc_gpc1",       smp_fetch_sc_inc_gpc1,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4052:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4052 |  { "src_kbytes_in",      smp_fetch_sc_kbytes_in,      ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4053:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4053 |  { "src_kbytes_out",     smp_fetch_sc_kbytes_out,     ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4054:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4054 |  { "src_sess_cnt",       smp_fetch_sc_sess_cnt,       ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4055:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4055 |  { "src_sess_rate",      smp_fetch_sc_sess_rate,      ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4056:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4056 |  { "src_updt_conn_cnt",  smp_fetch_src_updt_conn_cnt, ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_L4CLI, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4057:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4057 |  { "table_avl",          smp_fetch_table_avl,         ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/stick_table.c:4058:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 4058 |  { "table_cnt",          smp_fetch_table_cnt,         ARG1(1,TAB),      NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:4062:1: note: in expansion of macro 'INITCALL1'
 4062 | INITCALL1(STG_REGISTER, sample_register_fetches, &smp_fetch_keywords);
      | ^~~~~~~~~
src/stick_table.c:4066:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4066 |  { "in_table",             sample_conv_in_table,             ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_BOOL  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4067:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4067 |  { "table_bytes_in_rate",  sample_conv_table_bytes_in_rate,  ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4068:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4068 |  { "table_bytes_out_rate", sample_conv_table_bytes_out_rate, ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4069:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4069 |  { "table_conn_cnt",       sample_conv_table_conn_cnt,       ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4070:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4070 |  { "table_conn_cur",       sample_conv_table_conn_cur,       ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4071:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4071 |  { "table_conn_rate",      sample_conv_table_conn_rate,      ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4072:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4072 |  { "table_gpt0",           sample_conv_table_gpt0,           ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4073:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4073 |  { "table_gpc0",           sample_conv_table_gpc0,           ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4074:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4074 |  { "table_gpc1",           sample_conv_table_gpc1,           ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4075:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4075 |  { "table_gpc0_rate",      sample_conv_table_gpc0_rate,      ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4076:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4076 |  { "table_gpc1_rate",      sample_conv_table_gpc1_rate,      ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4077:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4077 |  { "table_http_err_cnt",   sample_conv_table_http_err_cnt,   ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4078:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4078 |  { "table_http_err_rate",  sample_conv_table_http_err_rate,  ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4079:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4079 |  { "table_http_req_cnt",   sample_conv_table_http_req_cnt,   ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4080:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4080 |  { "table_http_req_rate",  sample_conv_table_http_req_rate,  ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4081:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4081 |  { "table_kbytes_in",      sample_conv_table_kbytes_in,      ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4082:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4082 |  { "table_kbytes_out",     sample_conv_table_kbytes_out,     ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4083:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4083 |  { "table_server_id",      sample_conv_table_server_id,      ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4084:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4084 |  { "table_sess_cnt",       sample_conv_table_sess_cnt,       ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4085:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4085 |  { "table_sess_rate",      sample_conv_table_sess_rate,      ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/stick_table.c:4086:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 4086 |  { "table_trackers",       sample_conv_table_trackers,       ARG1(1,TAB),  NULL, SMP_T_ANY,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/stick_table.c:18:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/stick_table.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_conv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/stick_table.c:4090:1: note: in expansion of macro 'INITCALL1'
 4090 | INITCALL1(STG_REGISTER, sample_register_convs, &sample_conv_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/flt_http_comp.o
In file included from include/common/buffer.h:30,
                 from src/flt_http_comp.c:13:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/flt_http_comp.c:13:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/flt_http_comp.c:13:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/flt_http_comp.c:13:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/flt_http_comp.c:15:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/filters.h:30,
                 from src/flt_http_comp.c:26:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/flt_http_comp.c:29:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/flt_http_comp.c:13:
src/flt_http_comp.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/flt_http_comp.c:50:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   50 | DECLARE_STATIC_POOL(pool_head_comp_state, "comp_state", sizeof(struct comp_state));
      | ^~~~~~~~~~~~~~~~~~~
src/flt_http_comp.c: In function 'comp_flt_init':
src/flt_http_comp.c:81:29: warning: unused parameter 'px' [-Wunused-parameter]
   81 | comp_flt_init(struct proxy *px, struct flt_conf *fconf)
      |               ~~~~~~~~~~~~~~^~
src/flt_http_comp.c: In function 'comp_flt_init_per_thread':
src/flt_http_comp.c:88:40: warning: unused parameter 'px' [-Wunused-parameter]
   88 | comp_flt_init_per_thread(struct proxy *px, struct flt_conf *fconf)
      |                          ~~~~~~~~~~~~~~^~
src/flt_http_comp.c:88:61: warning: unused parameter 'fconf' [-Wunused-parameter]
   88 | comp_flt_init_per_thread(struct proxy *px, struct flt_conf *fconf)
      |                                            ~~~~~~~~~~~~~~~~~^~~~~
src/flt_http_comp.c: In function 'comp_flt_deinit_per_thread':
src/flt_http_comp.c:98:42: warning: unused parameter 'px' [-Wunused-parameter]
   98 | comp_flt_deinit_per_thread(struct proxy *px, struct flt_conf *fconf)
      |                            ~~~~~~~~~~~~~~^~
src/flt_http_comp.c:98:63: warning: unused parameter 'fconf' [-Wunused-parameter]
   98 | comp_flt_deinit_per_thread(struct proxy *px, struct flt_conf *fconf)
      |                                              ~~~~~~~~~~~~~~~~~^~~~~
src/flt_http_comp.c: In function 'comp_start_analyze':
src/flt_http_comp.c:107:35: warning: unused parameter 's' [-Wunused-parameter]
  107 | comp_start_analyze(struct stream *s, struct filter *filter, struct channel *chn)
      |                    ~~~~~~~~~~~~~~~^
src/flt_http_comp.c:107:77: warning: unused parameter 'chn' [-Wunused-parameter]
  107 | comp_start_analyze(struct stream *s, struct filter *filter, struct channel *chn)
      |                                                             ~~~~~~~~~~~~~~~~^~~
src/flt_http_comp.c: In function 'comp_end_analyze':
src/flt_http_comp.c:136:33: warning: unused parameter 's' [-Wunused-parameter]
  136 | comp_end_analyze(struct stream *s, struct filter *filter, struct channel *chn)
      |                  ~~~~~~~~~~~~~~~^
src/flt_http_comp.c:136:75: warning: unused parameter 'chn' [-Wunused-parameter]
  136 | comp_end_analyze(struct stream *s, struct filter *filter, struct channel *chn)
      |                                                           ~~~~~~~~~~~~~~~~^~~
src/flt_http_comp.c: In function 'comp_http_post_analyze':
src/flt_http_comp.c:180:26: warning: unused parameter 'chn' [-Wunused-parameter]
  180 |          struct channel *chn, unsigned an_bit)
      |          ~~~~~~~~~~~~~~~~^~~
src/flt_http_comp.c: In function 'comp_http_payload':
src/flt_http_comp.c:237:13: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  237 |     if (ret == sz && !b_data(&trash)) {
      |             ^~
src/flt_http_comp.c: In function 'comp_http_data':
src/flt_http_comp.c:338:11: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  338 |   if (len > block)
      |           ^
src/flt_http_comp.c:305:31: warning: unused parameter 's' [-Wunused-parameter]
  305 | comp_http_data(struct stream *s, struct filter *filter, struct http_msg *msg)
      |                ~~~~~~~~~~~~~~~^
src/flt_http_comp.c: In function 'comp_http_chunk_trailers':
src/flt_http_comp.c:361:41: warning: unused parameter 's' [-Wunused-parameter]
  361 | comp_http_chunk_trailers(struct stream *s, struct filter *filter,
      |                          ~~~~~~~~~~~~~~~^
src/flt_http_comp.c: In function 'comp_http_forward_data':
src/flt_http_comp.c:401:25: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  401 |   else if (st->hdrs_len > len) {
      |                         ^
src/flt_http_comp.c:429:11: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  429 |   if (ret != b_data(&tmpbuf)) {
      |           ^~
src/flt_http_comp.c: In function 'htx_set_comp_reshdr':
src/flt_http_comp.c:536:59: warning: unused parameter 's' [-Wunused-parameter]
  536 | htx_set_comp_reshdr(struct comp_state *st, struct stream *s, struct http_msg *msg)
      |                                            ~~~~~~~~~~~~~~~^
src/flt_http_comp.c: In function 'htx_select_comp_reqhdr':
src/flt_http_comp.c:754:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  754 |    while (toklen < ctx.value.len && HTTP_IS_TOKEN(*(ctx.value.ptr + toklen)))
      |                  ^
src/flt_http_comp.c: In function 'http_select_comp_reshdr':
src/flt_http_comp.c:934:42: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  934 |   if (read_freq_ctr(&global.comp_bps_in) > global.comp_rate_lim)
      |                                          ^
src/flt_http_comp.c: In function 'htx_select_comp_reshdr':
src/flt_http_comp.c:1027:23: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1027 |     if (ctx.value.len >= comp_type->name_len &&
      |                       ^~
src/flt_http_comp.c:1045:42: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1045 |   if (read_freq_ctr(&global.comp_bps_in) > global.comp_rate_lim)
      |                                          ^
src/flt_http_comp.c:1058:3: warning: label 'deinit_comp_ctx' defined but not used [-Wunused-label]
 1058 |   deinit_comp_ctx:
      |   ^~~~~~~~~~~~~~~
src/flt_http_comp.c: In function 'http_compression_buffer_add_data':
src/flt_http_comp.c:1150:13: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1150 |  if (block1 > b_contig_data(in, in_out))
      |             ^
src/flt_http_comp.c: In function 'http_compression_buffer_end':
src/flt_http_comp.c:1234:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1234 |   if (left > co_data(chn))
      |            ^
src/flt_http_comp.c: In function 'parse_compression_options':
src/flt_http_comp.c:1338:44: warning: unused parameter 'section' [-Wunused-parameter]
 1338 | parse_compression_options(char **args, int section, struct proxy *proxy,
      |                                        ~~~~^~~~~~~
src/flt_http_comp.c:1339:20: warning: unused parameter 'defpx' [-Wunused-parameter]
 1339 |      struct proxy *defpx, const char *file, int line,
      |      ~~~~~~~~~~~~~~^~~~~
src/flt_http_comp.c: In function 'parse_http_comp_flt':
src/flt_http_comp.c:1402:28: warning: unused parameter 'args' [-Wunused-parameter]
 1402 | parse_http_comp_flt(char **args, int *cur_arg, struct proxy *px,
      |                     ~~~~~~~^~~~
src/flt_http_comp.c:1403:63: warning: unused parameter 'private' [-Wunused-parameter]
 1403 |                     struct flt_conf *fconf, char **err, void *private)
      |                                                         ~~~~~~^~~~~~~
src/flt_http_comp.c: In function 'smp_fetch_res_comp':
src/flt_http_comp.c:1481:38: warning: unused parameter 'args' [-Wunused-parameter]
 1481 | smp_fetch_res_comp(const struct arg *args, struct sample *smp, const char *kw,
      |                    ~~~~~~~~~~~~~~~~~~^~~~
src/flt_http_comp.c:1481:76: warning: unused parameter 'kw' [-Wunused-parameter]
 1481 | smp_fetch_res_comp(const struct arg *args, struct sample *smp, const char *kw,
      |                                                                ~~~~~~~~~~~~^~
src/flt_http_comp.c:1482:12: warning: unused parameter 'private' [-Wunused-parameter]
 1482 |      void *private)
      |      ~~~~~~^~~~~~~
src/flt_http_comp.c: In function 'smp_fetch_res_comp_algo':
src/flt_http_comp.c:1495:43: warning: unused parameter 'args' [-Wunused-parameter]
 1495 | smp_fetch_res_comp_algo(const struct arg *args, struct sample *smp,
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/flt_http_comp.c:1496:16: warning: unused parameter 'kw' [-Wunused-parameter]
 1496 |    const char *kw, void *private)
      |    ~~~~~~~~~~~~^~
src/flt_http_comp.c:1496:26: warning: unused parameter 'private' [-Wunused-parameter]
 1496 |    const char *kw, void *private)
      |                    ~~~~~~^~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/flt_http_comp.c:13:
src/flt_http_comp.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_http_comp.c:1528:1: note: in expansion of macro 'INITCALL1'
 1528 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct flt_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_http_comp.c:1537:1: note: in expansion of macro 'INITCALL1'
 1537 | INITCALL1(STG_REGISTER, flt_register_keywords, &filter_kws);
      | ^~~~~~~~~
src/flt_http_comp.c:1541:3: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1541 |   { "res.comp",      smp_fetch_res_comp,      0, NULL, SMP_T_BOOL, SMP_USE_HRSHP },
      |   ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/flt_http_comp.c:1542:3: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1542 |   { "res.comp_algo", smp_fetch_res_comp_algo, 0, NULL, SMP_T_STR, SMP_USE_HRSHP },
      |   ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/flt_http_comp.c:14:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/flt_http_comp.c:13:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_http_comp.c:1547:1: note: in expansion of macro 'INITCALL1'
 1547 | INITCALL1(STG_REGISTER, sample_register_fetches, &sample_fetch_keywords);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/cfgparse.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse.c:36:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from src/cfgparse.c:60:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/cfgparse.c:60:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/cfgparse.c:76:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/peers.h:28,
                 from src/cfgparse.c:78:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/peers.h:28,
                 from src/cfgparse.c:78:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/cfgparse.c: In function 'str2listener':
src/cfgparse.c:148:94: warning: unused parameter 'file' [-Wunused-parameter]
  148 | int str2listener(char *str, struct proxy *curproxy, struct bind_conf *bind_conf, const char *file, int line, char **err)
      |                                                                                  ~~~~~~~~~~~~^~~~
src/cfgparse.c:148:104: warning: unused parameter 'line' [-Wunused-parameter]
  148 | int str2listener(char *str, struct proxy *curproxy, struct bind_conf *bind_conf, const char *file, int line, char **err)
      |                                                                                                    ~~~~^~~~
src/cfgparse.c: In function 'parse_process_number':
src/cfgparse.c:386:27: warning: operand of ?: changes signedness from 'int' to 'unsigned int' due to unsignedness of other operand [-Wsign-compare]
  386 |    high = ((!*(dash+1)) ? max : str2uic(dash + 1));
      |                           ^~~
src/cfgparse.c:394:22: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  394 |   if (low < 1 || low > max || high > max) {
      |                      ^
src/cfgparse.c:394:36: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  394 |   if (low < 1 || low > max || high > max) {
      |                                    ^
src/cfgparse.c: In function 'cfg_parse_peers':
src/cfgparse.c:603:69: warning: unused parameter 'kwm' [-Wunused-parameter]
  603 | int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
      |                                                                 ~~~~^~~
src/cfgparse.c: In function 'cfg_parse_resolvers':
src/cfgparse.c:945:73: warning: unused parameter 'kwm' [-Wunused-parameter]
  945 | int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
      |                                                                     ~~~~^~~
src/cfgparse.c: In function 'cfg_parse_mailers':
src/cfgparse.c:1349:71: warning: unused parameter 'kwm' [-Wunused-parameter]
 1349 | int cfg_parse_mailers(const char *file, int linenum, char **args, int kwm)
      |                                                                   ~~~~^~~
src/cfgparse.c: In function 'cfg_parse_netns':
src/cfgparse.c:1537:65: warning: unused parameter 'kwm' [-Wunused-parameter]
 1537 | cfg_parse_netns(const char *file, int linenum, char **args, int kwm)
      |                                                             ~~~~^~~
src/cfgparse.c: In function 'cfg_parse_users':
src/cfgparse.c:1579:65: warning: unused parameter 'kwm' [-Wunused-parameter]
 1579 | cfg_parse_users(const char *file, int linenum, char **args, int kwm)
      |                                                             ~~~~^~~
In file included from include/common/cfgparse.h:27,
                 from src/cfgparse.c:36:
src/cfgparse.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4249:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4249 | REGISTER_CONFIG_SECTION("listen",         cfg_parse_listen,    NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4250:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4250 | REGISTER_CONFIG_SECTION("frontend",       cfg_parse_listen,    NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4251:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4251 | REGISTER_CONFIG_SECTION("backend",        cfg_parse_listen,    NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4252:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4252 | REGISTER_CONFIG_SECTION("defaults",       cfg_parse_listen,    NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4253:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4253 | REGISTER_CONFIG_SECTION("global",         cfg_parse_global,    NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4254:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4254 | REGISTER_CONFIG_SECTION("userlist",       cfg_parse_users,     NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4255:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4255 | REGISTER_CONFIG_SECTION("peers",          cfg_parse_peers,     NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4256:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4256 | REGISTER_CONFIG_SECTION("mailers",        cfg_parse_mailers,   NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4257:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4257 | REGISTER_CONFIG_SECTION("namespace_list", cfg_parse_netns,     NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cfgparse.c:4258:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 4258 | REGISTER_CONFIG_SECTION("resolvers",      cfg_parse_resolvers, NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hlua.o
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from src/hlua.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from src/hlua.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/hlua.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from src/hlua.c:25:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/hlua.c:40:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/hlua.c:40:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from src/hlua.c:41:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/hlua.c:41:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/hlua.c:56:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/common/cfgparse.h:27,
                 from src/hlua.c:27:
src/hlua.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:260:2: note: in expansion of macro 'INITCALL1'
  260 |  INITCALL1(STG_LOCK, ha_spin_init, &(lock))
      |  ^~~~~~~~~
src/hlua.c:126:1: note: in expansion of macro '__decl_spinlock'
  126 | __decl_spinlock(hlua_global_lock);
      | ^~~~~~~~~~~~~~~
src/hlua.c: In function 'hlua_panic_safe':
src/hlua.c:128:39: warning: unused parameter 'L' [-Wunused-parameter]
  128 | static int hlua_panic_safe(lua_State *L) { return 0; }
      |                            ~~~~~~~~~~~^
src/hlua.c: In function 'hlua_panic_ljmp':
src/hlua.c:129:39: warning: unused parameter 'L' [-Wunused-parameter]
  129 | static int hlua_panic_ljmp(lua_State *L) { longjmp(safe_ljmp_env, 1); }
      |                            ~~~~~~~~~~~^
In file included from include/common/cfgparse.h:27,
                 from src/hlua.c:27:
src/hlua.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/hlua.c:170:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  170 | DECLARE_STATIC_POOL(pool_head_hlua, "hlua", sizeof(struct hlua));
      | ^~~~~~~~~~~~~~~~~~~
src/hlua.c: In function 'hlua_lua2arg_check':
src/hlua.c:618:11: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  618 |   if (idx >= ARGM_NBARGS && argp[idx].type != ARGT_STOP) {
      |           ^~
src/hlua.c: In function 'hlua_hook':
src/hlua.c:1027:41: warning: unused parameter 'ar' [-Wunused-parameter]
 1027 | void hlua_hook(lua_State *L, lua_Debug *ar)
      |                              ~~~~~~~~~~~^~
src/hlua.c: In function 'hlua_socket_receive_yield':
src/hlua.c:1855:12: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1855 |   if (len1 > missing_bytes) {
      |            ^
src/hlua.c:1858:34: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1858 |   } if (nblk == 2 && len1 + len2 > missing_bytes)
      |                                  ^
src/hlua.c:1881:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1881 |  else if (wanted >= 0 && socket->b.n < wanted)
      |                                      ^
src/hlua.c:1767:70: warning: unused parameter 'status' [-Wunused-parameter]
 1767 | __LJMP static int hlua_socket_receive_yield(struct lua_State *L, int status, lua_KContext ctx)
      |                                                                  ~~~~^~~~~~
src/hlua.c:1767:91: warning: unused parameter 'ctx' [-Wunused-parameter]
 1767 | __LJMP static int hlua_socket_receive_yield(struct lua_State *L, int status, lua_KContext ctx)
      |                                                                              ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_socket_write_yield':
src/hlua.c:2048:11: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2048 |  if (sent >= buf_len) {
      |           ^~
src/hlua.c:2099:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2099 |  if (sent + len >= buf_len) {
      |                 ^~
src/hlua.c:1996:60: warning: unused parameter 'status' [-Wunused-parameter]
 1996 | static int hlua_socket_write_yield(struct lua_State *L,int status, lua_KContext ctx)
      |                                                        ~~~~^~~~~~
src/hlua.c:1996:81: warning: unused parameter 'ctx' [-Wunused-parameter]
 1996 | static int hlua_socket_write_yield(struct lua_State *L,int status, lua_KContext ctx)
      |                                                                    ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_socket_send':
src/hlua.c:2146:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2146 |   if (j > buf_len)
      |         ^
src/hlua.c:2158:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2158 |   if (i > buf_len)
      |         ^
src/hlua.c: In function 'hlua_socket_connect_yield':
src/hlua.c:2347:70: warning: unused parameter 'status' [-Wunused-parameter]
 2347 | __LJMP static int hlua_socket_connect_yield(struct lua_State *L, int status, lua_KContext ctx)
      |                                                                  ~~~~^~~~~~
src/hlua.c:2347:91: warning: unused parameter 'ctx' [-Wunused-parameter]
 2347 | __LJMP static int hlua_socket_connect_yield(struct lua_State *L, int status, lua_KContext ctx)
      |                                                                              ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_socket_setoption':
src/hlua.c:2554:59: warning: unused parameter 'L' [-Wunused-parameter]
 2554 | __LJMP static int hlua_socket_setoption(struct lua_State *L)
      |                                         ~~~~~~~~~~~~~~~~~~^
src/hlua.c: In function 'hlua_channel_dup_yield':
src/hlua.c:2822:60: warning: unused parameter 'status' [-Wunused-parameter]
 2822 | __LJMP static int hlua_channel_dup_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                        ~~~~^~~~~~
src/hlua.c:2822:81: warning: unused parameter 'ctx' [-Wunused-parameter]
 2822 | __LJMP static int hlua_channel_dup_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                    ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_channel_get_yield':
src/hlua.c:2849:60: warning: unused parameter 'status' [-Wunused-parameter]
 2849 | __LJMP static int hlua_channel_get_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                        ~~~~^~~~~~
src/hlua.c:2849:81: warning: unused parameter 'ctx' [-Wunused-parameter]
 2849 | __LJMP static int hlua_channel_get_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                    ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_channel_getline_yield':
src/hlua.c:2883:64: warning: unused parameter 'status' [-Wunused-parameter]
 2883 | __LJMP static int hlua_channel_getline_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                            ~~~~^~~~~~
src/hlua.c:2883:85: warning: unused parameter 'ctx' [-Wunused-parameter]
 2883 | __LJMP static int hlua_channel_getline_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                        ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_channel_append_yield':
src/hlua.c:2956:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2956 |  if (max > len - l)
      |          ^
src/hlua.c:2980:8: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2980 |  if (l < len)
      |        ^
src/hlua.c:2935:63: warning: unused parameter 'status' [-Wunused-parameter]
 2935 | __LJMP static int hlua_channel_append_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                           ~~~~^~~~~~
src/hlua.c:2935:84: warning: unused parameter 'ctx' [-Wunused-parameter]
 2935 | __LJMP static int hlua_channel_append_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                       ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_channel_send_yield':
src/hlua.c:3069:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3069 |  if (max > len - l)
      |          ^
src/hlua.c:3098:8: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3098 |  if (l < len) {
      |        ^
src/hlua.c:3029:61: warning: unused parameter 'status' [-Wunused-parameter]
 3029 | __LJMP static int hlua_channel_send_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                         ~~~~^~~~~~
src/hlua.c:3029:82: warning: unused parameter 'ctx' [-Wunused-parameter]
 3029 | __LJMP static int hlua_channel_send_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                     ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_channel_forward_yield':
src/hlua.c:3149:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3149 |  if (max > ci_data(chn))
      |          ^
src/hlua.c:3132:64: warning: unused parameter 'status' [-Wunused-parameter]
 3132 | __LJMP static int hlua_channel_forward_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                            ~~~~^~~~~~
src/hlua.c:3132:85: warning: unused parameter 'ctx' [-Wunused-parameter]
 3132 | __LJMP static int hlua_channel_forward_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                        ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_run_sample_fetch':
src/hlua.c:3316:9: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 3316 |   if (i >= ARGM_NBARGS)
      |         ^~
src/hlua.c: In function 'hlua_run_sample_conv':
src/hlua.c:3422:9: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 3422 |   if (i >= ARGM_NBARGS)
      |         ^~
src/hlua.c: In function 'hlua_applet_tcp_getline_yield':
src/hlua.c:3668:67: warning: unused parameter 'status' [-Wunused-parameter]
 3668 | __LJMP static int hlua_applet_tcp_getline_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                               ~~~~^~~~~~
src/hlua.c:3668:88: warning: unused parameter 'ctx' [-Wunused-parameter]
 3668 | __LJMP static int hlua_applet_tcp_getline_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                           ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_tcp_recv_yield':
src/hlua.c:3752:10: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 3752 |  if (len == -1) {
      |          ^~
src/hlua.c:3722:64: warning: unused parameter 'status' [-Wunused-parameter]
 3722 | __LJMP static int hlua_applet_tcp_recv_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                            ~~~~^~~~~~
src/hlua.c:3722:85: warning: unused parameter 'ctx' [-Wunused-parameter]
 3722 | __LJMP static int hlua_applet_tcp_recv_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                        ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_tcp_send_yield':
src/hlua.c:3839:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3839 |  if (max > (len - l))
      |          ^
src/hlua.c:3853:8: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3853 |  if (l < len) {
      |        ^
src/hlua.c:3827:64: warning: unused parameter 'status' [-Wunused-parameter]
 3827 | __LJMP static int hlua_applet_tcp_send_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                            ~~~~^~~~~~
src/hlua.c:3827:85: warning: unused parameter 'ctx' [-Wunused-parameter]
 3827 | __LJMP static int hlua_applet_tcp_send_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                        ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_htx_getline_yield':
src/hlua.c:4203:67: warning: unused parameter 'status' [-Wunused-parameter]
 4203 | __LJMP static int hlua_applet_htx_getline_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                               ~~~~^~~~~~
src/hlua.c:4203:88: warning: unused parameter 'ctx' [-Wunused-parameter]
 4203 | __LJMP static int hlua_applet_htx_getline_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                           ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_http_getline_yield':
src/hlua.c:4322:11: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4322 |  if (len1 > appctx->appctx->ctx.hlua_apphttp.left_bytes)
      |           ^
src/hlua.c:4328:11: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4328 |  if (len2 > appctx->appctx->ctx.hlua_apphttp.left_bytes)
      |           ^
src/hlua.c:4286:68: warning: unused parameter 'status' [-Wunused-parameter]
 4286 | __LJMP static int hlua_applet_http_getline_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                ~~~~^~~~~~
src/hlua.c:4286:89: warning: unused parameter 'ctx' [-Wunused-parameter]
 4286 | __LJMP static int hlua_applet_http_getline_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                            ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_htx_recv_yield':
src/hlua.c:4383:23: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4383 |   if (len > 0 && vlen > len)
      |                       ^
src/hlua.c:4357:64: warning: unused parameter 'status' [-Wunused-parameter]
 4357 | __LJMP static int hlua_applet_htx_recv_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                            ~~~~^~~~~~
src/hlua.c:4357:85: warning: unused parameter 'ctx' [-Wunused-parameter]
 4357 | __LJMP static int hlua_applet_htx_recv_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                        ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_http_recv_yield':
src/hlua.c:4473:11: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4473 |  if (len1 > len)
      |           ^
src/hlua.c:4479:11: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4479 |  if (len2 > len)
      |           ^
src/hlua.c:4442:65: warning: unused parameter 'status' [-Wunused-parameter]
 4442 | __LJMP static int hlua_applet_http_recv_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                             ~~~~^~~~~~
src/hlua.c:4442:86: warning: unused parameter 'ctx' [-Wunused-parameter]
 4442 | __LJMP static int hlua_applet_http_recv_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                         ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_htx_send_yield':
src/hlua.c:4562:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4562 |  if (max > (len - l))
      |          ^
src/hlua.c:4577:8: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4577 |  if (l < len) {
      |        ^
src/hlua.c:4544:64: warning: unused parameter 'status' [-Wunused-parameter]
 4544 | __LJMP static int hlua_applet_htx_send_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                            ~~~~^~~~~~
src/hlua.c:4544:85: warning: unused parameter 'ctx' [-Wunused-parameter]
 4544 | __LJMP static int hlua_applet_htx_send_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                        ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_http_send_yield':
src/hlua.c:4605:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4605 |  if (max > (len - l))
      |          ^
src/hlua.c:4619:8: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4619 |  if (l < len) {
      |        ^
src/hlua.c:4593:65: warning: unused parameter 'status' [-Wunused-parameter]
 4593 | __LJMP static int hlua_applet_http_send_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                             ~~~~^~~~~~
src/hlua.c:4593:86: warning: unused parameter 'ctx' [-Wunused-parameter]
 4593 | __LJMP static int hlua_applet_http_send_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                         ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_htx_start_response_yield':
src/hlua.c:4931:74: warning: unused parameter 'status' [-Wunused-parameter]
 4931 | __LJMP static int hlua_applet_htx_start_response_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                      ~~~~^~~~~~
src/hlua.c:4931:95: warning: unused parameter 'ctx' [-Wunused-parameter]
 4931 | __LJMP static int hlua_applet_htx_start_response_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                                  ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_applet_http_start_response_yield':
src/hlua.c:4954:75: warning: unused parameter 'status' [-Wunused-parameter]
 4954 | __LJMP static int hlua_applet_http_start_response_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                       ~~~~^~~~~~
src/hlua.c:4954:96: warning: unused parameter 'ctx' [-Wunused-parameter]
 4954 | __LJMP static int hlua_applet_http_start_response_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                                                   ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_sleep_yield':
src/hlua.c:6153:13: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 6153 |  if (now_ms < wakeup_ms)
      |             ^
src/hlua.c:6150:54: warning: unused parameter 'status' [-Wunused-parameter]
 6150 | __LJMP static int hlua_sleep_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                  ~~~~^~~~~~
src/hlua.c:6150:75: warning: unused parameter 'ctx' [-Wunused-parameter]
 6150 | __LJMP static int hlua_sleep_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                              ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_yield_yield':
src/hlua.c:6192:47: warning: unused parameter 'L' [-Wunused-parameter]
 6192 | __LJMP static int hlua_yield_yield(lua_State *L, int status, lua_KContext ctx)
      |                                    ~~~~~~~~~~~^
src/hlua.c:6192:54: warning: unused parameter 'status' [-Wunused-parameter]
 6192 | __LJMP static int hlua_yield_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                  ~~~~^~~~~~
src/hlua.c:6192:75: warning: unused parameter 'ctx' [-Wunused-parameter]
 6192 | __LJMP static int hlua_yield_yield(lua_State *L, int status, lua_KContext ctx)
      |                                                              ~~~~~~~~~~~~~^~~
src/hlua.c: In function 'hlua_process_task':
src/hlua.c:6237:81: warning: unused parameter 'state' [-Wunused-parameter]
 6237 | struct task *hlua_process_task(struct task *task, void *context, unsigned short state)
      |                                                                  ~~~~~~~~~~~~~~~^~~~~
src/hlua.c: In function 'hlua_sample_fetch_wrapper':
src/hlua.c:6488:50: warning: unused parameter 'kw' [-Wunused-parameter]
 6488 |                                      const char *kw, void *private)
      |                                      ~~~~~~~~~~~~^~
src/hlua.c: In function 'hlua_action':
src/hlua.c:6763:52: warning: unused parameter 'sess' [-Wunused-parameter]
 6763 |                                    struct session *sess, struct stream *s, int flags)
      |                                    ~~~~~~~~~~~~~~~~^~~~
src/hlua.c: In function 'hlua_applet_wakeup':
src/hlua.c:6940:79: warning: unused parameter 'state' [-Wunused-parameter]
 6940 | struct task *hlua_applet_wakeup(struct task *t, void *context, unsigned short state)
      |                                                                ~~~~~~~~~~~~~~~^~~~~
src/hlua.c: In function 'hlua_applet_tcp_init':
src/hlua.c:6949:86: warning: unused parameter 'strm' [-Wunused-parameter]
 6949 | static int hlua_applet_tcp_init(struct appctx *ctx, struct proxy *px, struct stream *strm)
      |                                                                       ~~~~~~~~~~~~~~~^~~~
src/hlua.c: In function 'action_register_lua':
src/hlua.c:7606:94: warning: unused parameter 'px' [-Wunused-parameter]
 7606 | static enum act_parse_ret action_register_lua(const char **args, int *cur_arg, struct proxy *px,
      |                                                                                ~~~~~~~~~~~~~~^~
src/hlua.c: In function 'action_register_service_http':
src/hlua.c:7649:69: warning: unused parameter 'args' [-Wunused-parameter]
 7649 | static enum act_parse_ret action_register_service_http(const char **args, int *cur_arg, struct proxy *px,
      |                                                        ~~~~~~~~~~~~~^~~~
src/hlua.c:7649:80: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 7649 | static enum act_parse_ret action_register_service_http(const char **args, int *cur_arg, struct proxy *px,
      |                                                                           ~~~~~^~~~~~~
src/hlua.c:7649:103: warning: unused parameter 'px' [-Wunused-parameter]
 7649 | static enum act_parse_ret action_register_service_http(const char **args, int *cur_arg, struct proxy *px,
      |                                                                                         ~~~~~~~~~~~~~~^~
src/hlua.c: In function 'action_register_service_tcp':
src/hlua.c:7781:68: warning: unused parameter 'args' [-Wunused-parameter]
 7781 | static enum act_parse_ret action_register_service_tcp(const char **args, int *cur_arg, struct proxy *px,
      |                                                       ~~~~~~~~~~~~~^~~~
src/hlua.c:7781:79: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 7781 | static enum act_parse_ret action_register_service_tcp(const char **args, int *cur_arg, struct proxy *px,
      |                                                                          ~~~~~^~~~~~~
src/hlua.c: In function 'hlua_cli_parse_fct':
src/hlua.c:7890:50: warning: unused parameter 'payload' [-Wunused-parameter]
 7890 | static int hlua_cli_parse_fct(char **args, char *payload, struct appctx *appctx, void *private)
      |                                            ~~~~~~^~~~~~~
src/hlua.c: In function 'hlua_read_timeout':
src/hlua.c:8139:47: warning: unused parameter 'section_type' [-Wunused-parameter]
 8139 | static int hlua_read_timeout(char **args, int section_type, struct proxy *curpx,
      |                                           ~~~~^~~~~~~~~~~~
src/hlua.c:8139:75: warning: unused parameter 'curpx' [-Wunused-parameter]
 8139 | static int hlua_read_timeout(char **args, int section_type, struct proxy *curpx,
      |                                                             ~~~~~~~~~~~~~~^~~~~
src/hlua.c:8140:44: warning: unused parameter 'defpx' [-Wunused-parameter]
 8140 |                              struct proxy *defpx, const char *file, int line,
      |                              ~~~~~~~~~~~~~~^~~~~
src/hlua.c:8140:63: warning: unused parameter 'file' [-Wunused-parameter]
 8140 |                              struct proxy *defpx, const char *file, int line,
      |                                                   ~~~~~~~~~~~~^~~~
src/hlua.c:8140:73: warning: unused parameter 'line' [-Wunused-parameter]
 8140 |                              struct proxy *defpx, const char *file, int line,
      |                                                                     ~~~~^~~~
src/hlua.c: In function 'hlua_forced_yield':
src/hlua.c:8187:47: warning: unused parameter 'section_type' [-Wunused-parameter]
 8187 | static int hlua_forced_yield(char **args, int section_type, struct proxy *curpx,
      |                                           ~~~~^~~~~~~~~~~~
src/hlua.c:8187:75: warning: unused parameter 'curpx' [-Wunused-parameter]
 8187 | static int hlua_forced_yield(char **args, int section_type, struct proxy *curpx,
      |                                                             ~~~~~~~~~~~~~~^~~~~
src/hlua.c:8188:44: warning: unused parameter 'defpx' [-Wunused-parameter]
 8188 |                              struct proxy *defpx, const char *file, int line,
      |                              ~~~~~~~~~~~~~~^~~~~
src/hlua.c:8188:63: warning: unused parameter 'file' [-Wunused-parameter]
 8188 |                              struct proxy *defpx, const char *file, int line,
      |                                                   ~~~~~~~~~~~~^~~~
src/hlua.c:8188:73: warning: unused parameter 'line' [-Wunused-parameter]
 8188 |                              struct proxy *defpx, const char *file, int line,
      |                                                                     ~~~~^~~~
src/hlua.c: In function 'hlua_parse_maxmem':
src/hlua.c:8201:47: warning: unused parameter 'section_type' [-Wunused-parameter]
 8201 | static int hlua_parse_maxmem(char **args, int section_type, struct proxy *curpx,
      |                                           ~~~~^~~~~~~~~~~~
src/hlua.c:8201:75: warning: unused parameter 'curpx' [-Wunused-parameter]
 8201 | static int hlua_parse_maxmem(char **args, int section_type, struct proxy *curpx,
      |                                                             ~~~~~~~~~~~~~~^~~~~
src/hlua.c:8202:44: warning: unused parameter 'defpx' [-Wunused-parameter]
 8202 |                              struct proxy *defpx, const char *file, int line,
      |                              ~~~~~~~~~~~~~~^~~~~
src/hlua.c:8202:63: warning: unused parameter 'file' [-Wunused-parameter]
 8202 |                              struct proxy *defpx, const char *file, int line,
      |                                                   ~~~~~~~~~~~~^~~~
src/hlua.c:8202:73: warning: unused parameter 'line' [-Wunused-parameter]
 8202 |                              struct proxy *defpx, const char *file, int line,
      |                                                                     ~~~~^~~~
src/hlua.c: In function 'hlua_load':
src/hlua.c:8234:39: warning: unused parameter 'section_type' [-Wunused-parameter]
 8234 | static int hlua_load(char **args, int section_type, struct proxy *curpx,
      |                                   ~~~~^~~~~~~~~~~~
src/hlua.c:8234:67: warning: unused parameter 'curpx' [-Wunused-parameter]
 8234 | static int hlua_load(char **args, int section_type, struct proxy *curpx,
      |                                                     ~~~~~~~~~~~~~~^~~~~
src/hlua.c:8235:36: warning: unused parameter 'defpx' [-Wunused-parameter]
 8235 |                      struct proxy *defpx, const char *file, int line,
      |                      ~~~~~~~~~~~~~~^~~~~
src/hlua.c:8235:55: warning: unused parameter 'file' [-Wunused-parameter]
 8235 |                      struct proxy *defpx, const char *file, int line,
      |                                           ~~~~~~~~~~~~^~~~
src/hlua.c:8235:65: warning: unused parameter 'line' [-Wunused-parameter]
 8235 |                      struct proxy *defpx, const char *file, int line,
      |                                                             ~~~~^~~~
In file included from include/common/cfgparse.h:27,
                 from src/hlua.c:27:
src/hlua.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/hlua.c:8288:1: note: in expansion of macro 'INITCALL1'
 8288 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
src/hlua.c: In function 'hlua_action':
src/hlua.c:268:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  268 |   if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE)) \
      |      ^
src/hlua.c:6932:3: note: in expansion of macro 'SEND_ERR'
 6932 |   SEND_ERR(px, "Lua function '%s' return an unknown error.\n",
      |   ^~~~~~~~
src/hlua.c:6935:2: note: here
 6935 |  default:
      |  ^~~~~~~
src/hlua.c: In function 'hlua_sample_conv_wrapper':
src/hlua.c:268:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  268 |   if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE)) \
      |      ^
src/hlua.c:6475:3: note: in expansion of macro 'SEND_ERR'
 6475 |   SEND_ERR(stream->be, "Lua converter '%s' returns an unknown error.\n", fcn->name);
      |   ^~~~~~~~
src/hlua.c:6477:2: note: here
 6477 |  default:
      |  ^~~~~~~
src/hlua.c: In function 'hlua_sample_fetch_wrapper':
src/hlua.c:268:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  268 |   if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE)) \
      |      ^
src/hlua.c:6634:3: note: in expansion of macro 'SEND_ERR'
 6634 |   SEND_ERR(smp->px, "Lua sample-fetch '%s' returns an unknown error.\n", fcn->name);
      |   ^~~~~~~~
src/hlua.c:6636:2: note: here
 6636 |  default:
      |  ^~~~~~~
In file included from include/proto/log.h:30,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
src/hlua.c: In function 'hlua_applet_http_init':
include/common/memory.h:380:8: warning: variable 'p' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
  380 |  void *p;
      |        ^
include/common/memory.h:350:8: warning: variable 'p' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
  350 |  void *p;
      |        ^
src/hlua.c: In function 'hlua_applet_tcp_init':
include/common/memory.h:380:8: warning: variable 'p' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
  380 |  void *p;
      |        ^
include/common/memory.h:350:8: warning: variable 'p' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
  350 |  void *p;
      |        ^
src/hlua.c: In function 'hlua_action':
src/hlua.c:6766:15: warning: variable 'hflags' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
 6766 |  unsigned int hflags = 0;
      |               ^~~~~~
src/hlua.c: In function 'hlua_sample_conv_wrapper':
src/hlua.c:6357:55: warning: argument 'arg_p' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
 6357 | static int hlua_sample_conv_wrapper(const struct arg *arg_p, struct sample *smp, void *private)
      |                                     ~~~~~~~~~~~~~~~~~~^~~~~
src/hlua.c: In function 'hlua_sample_fetch_wrapper':
src/hlua.c:6494:15: warning: variable 'hflags' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
 6494 |  unsigned int hflags = HLUA_TXN_NOTERM;
      |               ^~~~~~
src/hlua.c:6487:56: warning: argument 'arg_p' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
 6487 | static int hlua_sample_fetch_wrapper(const struct arg *arg_p, struct sample *smp,
      |                                      ~~~~~~~~~~~~~~~~~~^~~~~
In file included from include/proto/log.h:30,
                 from include/common/cfgparse.h:30,
                 from src/hlua.c:27:
src/hlua.c: In function 'hlua_cli_parse_fct':
include/common/memory.h:380:8: warning: variable 'p' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
  380 |  void *p;
      |        ^
include/common/memory.h:350:8: warning: variable 'p' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
  350 |  void *p;
      |        ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/dns.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from src/dns.c:37:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/dns.c:37:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/dns.c:42:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from src/dns.c:46:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/dns.c:50:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/common/cfgparse.h:27,
                 from src/dns.c:22:
src/dns.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/dns.c:59:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   59 | DECLARE_STATIC_POOL(dns_answer_item_pool, "dns_answer_item", sizeof(struct dns_answer_item));
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/dns.c:60:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   60 | DECLARE_STATIC_POOL(dns_resolution_pool,  "dns_resolution",  sizeof(struct dns_resolution));
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/dns.c:61:1: note: in expansion of macro 'DECLARE_POOL'
   61 | DECLARE_POOL(dns_requester_pool,  "dns_requester",  sizeof(struct dns_requester));
      | ^~~~~~~~~~~~
src/dns.c: In function 'dns_build_query':
src/dns.c:230:72: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  230 |  if (sizeof(dns_hdr) + sizeof(qinfo) +  sizeof(edns) + hostname_dn_len >= bufsize)
      |                                                                        ^~
src/dns.c: In function 'dns_check_dns_response':
src/dns.c:549:23: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  549 |      if (srv->uweight != ha_weight) {
      |                       ^~
src/dns.c: In function 'dns_resolve_recv':
src/dns.c:1562:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1562 |   if (buflen > resolvers->accepted_payload_size) {
      |              ^
src/dns.c: In function 'dns_process_resolvers':
src/dns.c:1775:89: warning: unused parameter 'state' [-Wunused-parameter]
 1775 | static struct task *dns_process_resolvers(struct task *t, void *context, unsigned short state)
      |                                                                          ~~~~~~~~~~~~~~~^~~~~
src/dns.c: In function 'cli_parse_stat_resolvers':
src/dns.c:2019:56: warning: unused parameter 'payload' [-Wunused-parameter]
 2019 | static int cli_parse_stat_resolvers(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                  ~~~~~~^~~~~~~
src/dns.c:2019:94: warning: unused parameter 'private' [-Wunused-parameter]
 2019 | static int cli_parse_stat_resolvers(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/dns.c: At top level:
src/dns.c:2110:5: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2110 |     cli_parse_stat_resolvers, cli_io_handler_dump_resolvers_to_buffer },
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/dns.c:31:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/dns.c:2111:3: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 2111 |   {{},}
      |   ^
In file included from src/dns.c:31:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/dns.c:22:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/dns.c:2115:1: note: in expansion of macro 'INITCALL1'
 2115 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
src/dns.c: In function 'dns_action_do_resolve':
src/dns.c:2157:56: warning: unused parameter 'flags' [-Wunused-parameter]
 2157 |            struct session *sess, struct stream *s, int flags)
      |                                                    ~~~~^~~~~
src/dns.c: At top level:
src/dns.c:2362:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 2362 |  { "do-resolve", dns_parse_do_resolve, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/dns.c:22:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/dns.c:2366:1: note: in expansion of macro 'INITCALL1'
 2366 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_kws);
      | ^~~~~~~~~
src/dns.c:2369:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
 2369 |  { "do-resolve", dns_parse_do_resolve, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/dns.c:22:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/dns.c:22:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/dns.c:2373:1: note: in expansion of macro 'INITCALL1'
 2373 | INITCALL1(STG_REGISTER, tcp_req_cont_keywords_register, &tcp_req_cont_actions);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(void (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:322:2: note: in expansion of macro 'INITCALL1'
  322 |  INITCALL1(STG_REGISTER, hap_register_post_deinit, (fct))
      |  ^~~~~~~~~
src/dns.c:2399:1: note: in expansion of macro 'REGISTER_POST_DEINIT'
 2399 | REGISTER_POST_DEINIT(dns_deinit);
      | ^~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:152:2: note: in expansion of macro 'INITCALL2'
  152 |  INITCALL2(STG_REGISTER, cfg_register_postparser, (name), (parser))
      |  ^~~~~~~~~
src/dns.c:2400:1: note: in expansion of macro 'REGISTER_CONFIG_POSTPARSER'
 2400 | REGISTER_CONFIG_POSTPARSER("dns runtime resolver", dns_finalize_config);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/mux_h2.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mux_h2.c:13:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/common/h2.h:34,
                 from src/mux_h2.c:16:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/common/hpack-dec.h:34,
                 from src/mux_h2.c:17:
include/common/hpack-tbl.h: In function 'hpack_valid_idx':
include/common/hpack-tbl.h:161:13: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  161 |  return idx < dht->used + HPACK_SHT_SIZE;
      |             ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/mux_h2.c:23:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/mux_h2.c:23:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/stream_interface.h:32,
                 from src/mux_h2.c:27:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/common/cfgparse.h:27,
                 from src/mux_h2.c:13:
src/mux_h2.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/mux_h2.c:234:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  234 | DECLARE_STATIC_POOL(pool_head_h2c, "h2c", sizeof(struct h2c));
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/mux_h2.c:237:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  237 | DECLARE_STATIC_POOL(pool_head_h2s, "h2s", sizeof(struct h2s));
      | ^~~~~~~~~~~~~~~~~~~
src/mux_h2.c: In function 'h2_release_buf':
src/mux_h2.c:447:47: warning: unused parameter 'h2c' [-Wunused-parameter]
  447 | static inline void h2_release_buf(struct h2c *h2c, struct buffer *bptr)
      |                                   ~~~~~~~~~~~~^~~
src/mux_h2.c: In function 'h2_avail_streams':
src/mux_h2.c:520:26: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  520 |   ret2 = h2c->stream_cnt <= srv->max_reuse ? srv->max_reuse - h2c->stream_cnt + 1: 0;
      |                          ^~
src/mux_h2.c: In function 'h2_peek_frame_hdr':
src/mux_h2.c:878:16: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  878 |  if (b_data(b) < o + 9)
      |                ^
src/mux_h2.c: In function 'h2s_new':
src/mux_h2.c:1011:2: warning: label 'out_free_h2s' defined but not used [-Wunused-label]
 1011 |  out_free_h2s:
      |  ^~~~~~~~~~~~
src/mux_h2.c: In function 'h2c_handle_settings':
src/mux_h2.c:1620:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 1620 |  if (b_data(&h2c->dbuf) < h2c->dfl)
      |                         ^
src/mux_h2.c:1624:26: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int32_t' {aka 'int'} [-Wsign-compare]
 1624 |  for (offset = 0; offset < h2c->dfl; offset += 6) {
      |                          ^
src/mux_h2.c: In function 'h2c_handle_window_update':
src/mux_h2.c:1882:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 1882 |  if (b_data(&h2c->dbuf) < h2c->dfl)
      |                         ^
src/mux_h2.c: In function 'h2c_handle_goaway':
src/mux_h2.c:1949:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 1949 |  if (b_data(&h2c->dbuf) < h2c->dfl)
      |                         ^
src/mux_h2.c: In function 'h2c_handle_priority':
src/mux_h2.c:1968:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 1968 |  if (b_data(&h2c->dbuf) < h2c->dfl)
      |                         ^
src/mux_h2.c:1971:32: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 1971 |  if (h2_get_n32(&h2c->dbuf, 0) == h2c->dsi) {
      |                                ^~
src/mux_h2.c: In function 'h2c_handle_rst_stream':
src/mux_h2.c:1986:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 1986 |  if (b_data(&h2c->dbuf) < h2c->dfl)
      |                         ^
src/mux_h2.c: In function 'h2c_frt_handle_headers':
src/mux_h2.c:2022:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 2022 |  if (b_data(&h2c->dbuf) < h2c->dfl && !b_full(&h2c->dbuf))
      |                         ^
src/mux_h2.c: In function 'h2c_bck_handle_headers':
src/mux_h2.c:2145:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 2145 |  if (b_data(&h2c->dbuf) < h2c->dfl && !b_full(&h2c->dbuf))
      |                         ^
src/mux_h2.c: In function 'h2c_frt_handle_data':
src/mux_h2.c:2220:25: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 2220 |  if (b_data(&h2c->dbuf) < h2c->dfl && !b_full(&h2c->dbuf))
      |                         ^
src/mux_h2.c:2231:62: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
 2231 |  if ((h2s->flags & H2_SF_DATA_CLEN) && (h2c->dfl - h2c->dpl) > h2s->body_len) {
      |                                                              ^
src/mux_h2.c: In function 'h2_io_cb':
src/mux_h2.c:2969:43: warning: unused parameter 't' [-Wunused-parameter]
 2969 | static struct task *h2_io_cb(struct task *t, void *ctx, unsigned short status)
      |                              ~~~~~~~~~~~~~^
src/mux_h2.c:2969:72: warning: unused parameter 'status' [-Wunused-parameter]
 2969 | static struct task *h2_io_cb(struct task *t, void *ctx, unsigned short status)
      |                                                         ~~~~~~~~~~~~~~~^~~~~~
src/mux_h2.c: In function 'h2_timeout_task':
src/mux_h2.c:3095:83: warning: unused parameter 'state' [-Wunused-parameter]
 3095 | static struct task *h2_timeout_task(struct task *t, void *context, unsigned short state)
      |                                                                    ~~~~~~~~~~~~~~~^~~~~
src/mux_h2.c: In function 'h2_ctl':
src/mux_h2.c:3214:77: warning: unused parameter 'output' [-Wunused-parameter]
 3214 | static int h2_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
      |                                                                       ~~~~~~^~~~~~
src/mux_h2.c: In function 'h2_deferred_shut':
src/mux_h2.c:3496:51: warning: unused parameter 't' [-Wunused-parameter]
 3496 | static struct task *h2_deferred_shut(struct task *t, void *ctx, unsigned short state)
      |                                      ~~~~~~~~~~~~~^
src/mux_h2.c:3496:80: warning: unused parameter 'state' [-Wunused-parameter]
 3496 | static struct task *h2_deferred_shut(struct task *t, void *ctx, unsigned short state)
      |                                                                 ~~~~~~~~~~~~~~~^~~~~
src/mux_h2.c: In function 'h2_shutw':
src/mux_h2.c:3537:63: warning: unused parameter 'mode' [-Wunused-parameter]
 3537 | static void h2_shutw(struct conn_stream *cs, enum cs_shw_mode mode)
      |                                              ~~~~~~~~~~~~~~~~~^~~~
src/mux_h2.c: In function 'h2c_decode_headers':
src/mux_h2.c:3617:32: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 3617 |  if (b_data(&h2c->dbuf) - hole < h2c->dfl)
      |                                ^
src/mux_h2.c:3645:15: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 3645 |   if (hdr.sid != h2c->dsi) {
      |               ^~
src/mux_h2.c:3662:12: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
 3662 |   if (clen > hdr.len)
      |            ^
src/mux_h2.c:3693:22: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 3693 |   if (read_n32(hdrs) == h2c->dsi) {
      |                      ^~
src/mux_h2.c:3821:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 3821 |   if (b_data(&h2c->dbuf) > h2c->dfl + hole)
      |                          ^
src/mux_h2.c:3827:37: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3827 |  if (b_full(&h2c->dbuf) && h2c->dfl >= b_data(&h2c->dbuf)) {
      |                                     ^~
src/mux_h2.c: In function 'h2_frt_transfer_data':
src/mux_h2.c:3928:12: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 3928 |   if (flen > block1)
      |            ^
src/mux_h2.c:3933:12: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 3933 |   if (flen > block1)
      |            ^
src/mux_h2.c:4002:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 4002 |  if (block1 > flen)
      |             ^
src/mux_h2.c: In function 'h2s_frt_make_resp_headers':
src/mux_h2.c:4170:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 4170 |  for (hdr = 1; hdr < sizeof(list)/sizeof(list[0]); hdr++) {
      |                    ^
src/mux_h2.c: In function 'h2s_frt_make_resp_data':
src/mux_h2.c:4320:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'uint64_t' {aka 'long long unsigned int'} [-Wsign-compare]
 4320 |   if ((long long)size > h1m->curr_len)
      |                       ^
src/mux_h2.c:4379:11: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4379 |  if (size > max)
      |           ^
src/mux_h2.c:4396:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4396 |  if (size + 9 > outbuf.size) {
      |               ^
src/mux_h2.c:4402:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4402 |       (size + 9 <= b_room(mbuf)) &&
      |                 ^~
src/mux_h2.c:4430:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4430 |  if (!ret || len1 + len2 < size) {
      |                          ^
src/mux_h2.c:4437:18: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4437 |  if (len1 + len2 > size) {
      |                  ^
src/mux_h2.c:4440:12: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4440 |   if (len2 > sub)
      |            ^
In file included from include/common/config.h:25,
                 from include/common/cfgparse.h:26,
                 from src/mux_h2.c:13:
src/mux_h2.c: In function 'h2s_htx_frt_make_resp_headers':
src/mux_h2.c:4585:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 4585 |   if (unlikely(hdr >= sizeof(list)/sizeof(list[0]) - 1))
      |                    ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/mux_h2.c:4635:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 4635 |  for (hdr = 0; hdr < sizeof(list)/sizeof(list[0]); hdr++) {
      |                    ^
In file included from include/common/config.h:25,
                 from include/common/cfgparse.h:26,
                 from src/mux_h2.c:13:
src/mux_h2.c: In function 'h2s_htx_bck_make_req_headers':
src/mux_h2.c:4793:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 4793 |   if (unlikely(hdr >= sizeof(list)/sizeof(list[0]) - 1))
      |                    ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/mux_h2.c:4868:21: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 4868 |   for (hdr = 0; hdr < sizeof(list)/sizeof(list[0]); hdr++) {
      |                     ^
src/mux_h2.c:4891:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 4891 |  for (hdr = 0; hdr < sizeof(list)/sizeof(list[0]); hdr++) {
      |                    ^
In file included from include/common/config.h:25,
                 from include/common/cfgparse.h:26,
                 from src/mux_h2.c:13:
src/mux_h2.c: In function 'h2s_htx_frt_make_resp_data':
src/mux_h2.c:5074:21: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 5074 |  if (unlikely(fsize == count &&
      |                     ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/mux_h2.c:5086:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 5086 |    if (fsize + 9 <= b_room(mbuf) &&
      |                  ^~
src/mux_h2.c:5088:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 5088 |         (fsize <= b_size(mbuf) / 4 && fsize + 9 <= b_contig_space(mbuf))))
      |                ^~
src/mux_h2.c:5088:49: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 5088 |         (fsize <= b_size(mbuf) / 4 && fsize + 9 <= b_contig_space(mbuf))))
      |                                                 ^~
src/mux_h2.c:5171:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 5171 |  if (fsize > count)
      |            ^
src/mux_h2.c:5180:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 5180 |  if (fsize + 9 > outbuf.size) {
      |                ^
src/mux_h2.c:5186:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 5186 |       (fsize + 9 <= b_room(mbuf)) &&
      |                  ^~
In file included from include/common/config.h:25,
                 from include/common/cfgparse.h:26,
                 from src/mux_h2.c:13:
src/mux_h2.c: In function 'h2s_htx_make_trailers':
src/mux_h2.c:5310:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 5310 |   if (unlikely(hdr >= sizeof(list)/sizeof(list[0]) - 1))
      |                    ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/mux_h2.c:5394:2: warning: label 'done' defined but not used [-Wunused-label]
 5394 |  done:
      |  ^~~~
src/mux_h2.c: In function 'h2_rcv_buf':
src/mux_h2.c:5501:88: warning: unused parameter 'flags' [-Wunused-parameter]
 5501 | static size_t h2_rcv_buf(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
      |                                                                                    ~~~~^~~~~
src/mux_h2.c: In function 'h2_snd_buf':
src/mux_h2.c:5593:88: warning: unused parameter 'flags' [-Wunused-parameter]
 5593 | static size_t h2_snd_buf(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
      |                                                                                    ~~~~^~~~~
src/mux_h2.c: In function 'h2_parse_header_table_size':
src/mux_h2.c:5886:56: warning: unused parameter 'section_type' [-Wunused-parameter]
 5886 | static int h2_parse_header_table_size(char **args, int section_type, struct proxy *curpx,
      |                                                    ~~~~^~~~~~~~~~~~
src/mux_h2.c:5886:84: warning: unused parameter 'curpx' [-Wunused-parameter]
 5886 | static int h2_parse_header_table_size(char **args, int section_type, struct proxy *curpx,
      |                                                                      ~~~~~~~~~~~~~~^~~~~
src/mux_h2.c:5887:53: warning: unused parameter 'defpx' [-Wunused-parameter]
 5887 |                                       struct proxy *defpx, const char *file, int line,
      |                                       ~~~~~~~~~~~~~~^~~~~
src/mux_h2.c:5887:72: warning: unused parameter 'file' [-Wunused-parameter]
 5887 |                                       struct proxy *defpx, const char *file, int line,
      |                                                            ~~~~~~~~~~~~^~~~
src/mux_h2.c:5887:82: warning: unused parameter 'line' [-Wunused-parameter]
 5887 |                                       struct proxy *defpx, const char *file, int line,
      |                                                                              ~~~~^~~~
src/mux_h2.c: In function 'h2_parse_initial_window_size':
src/mux_h2.c:5902:58: warning: unused parameter 'section_type' [-Wunused-parameter]
 5902 | static int h2_parse_initial_window_size(char **args, int section_type, struct proxy *curpx,
      |                                                      ~~~~^~~~~~~~~~~~
src/mux_h2.c:5902:86: warning: unused parameter 'curpx' [-Wunused-parameter]
 5902 | static int h2_parse_initial_window_size(char **args, int section_type, struct proxy *curpx,
      |                                                                        ~~~~~~~~~~~~~~^~~~~
src/mux_h2.c:5903:55: warning: unused parameter 'defpx' [-Wunused-parameter]
 5903 |                                         struct proxy *defpx, const char *file, int line,
      |                                         ~~~~~~~~~~~~~~^~~~~
src/mux_h2.c:5903:74: warning: unused parameter 'file' [-Wunused-parameter]
 5903 |                                         struct proxy *defpx, const char *file, int line,
      |                                                              ~~~~~~~~~~~~^~~~
src/mux_h2.c:5903:84: warning: unused parameter 'line' [-Wunused-parameter]
 5903 |                                         struct proxy *defpx, const char *file, int line,
      |                                                                                ~~~~^~~~
src/mux_h2.c: In function 'h2_parse_max_concurrent_streams':
src/mux_h2.c:5918:61: warning: unused parameter 'section_type' [-Wunused-parameter]
 5918 | static int h2_parse_max_concurrent_streams(char **args, int section_type, struct proxy *curpx,
      |                                                         ~~~~^~~~~~~~~~~~
src/mux_h2.c:5918:89: warning: unused parameter 'curpx' [-Wunused-parameter]
 5918 | static int h2_parse_max_concurrent_streams(char **args, int section_type, struct proxy *curpx,
      |                                                                           ~~~~~~~~~~~~~~^~~~~
src/mux_h2.c:5919:58: warning: unused parameter 'defpx' [-Wunused-parameter]
 5919 |                                            struct proxy *defpx, const char *file, int line,
      |                                            ~~~~~~~~~~~~~~^~~~~
src/mux_h2.c:5919:77: warning: unused parameter 'file' [-Wunused-parameter]
 5919 |                                            struct proxy *defpx, const char *file, int line,
      |                                                                 ~~~~~~~~~~~~^~~~
src/mux_h2.c:5919:87: warning: unused parameter 'line' [-Wunused-parameter]
 5919 |                                            struct proxy *defpx, const char *file, int line,
      |                                                                                   ~~~~^~~~
src/mux_h2.c: In function 'h2_parse_max_frame_size':
src/mux_h2.c:5934:53: warning: unused parameter 'section_type' [-Wunused-parameter]
 5934 | static int h2_parse_max_frame_size(char **args, int section_type, struct proxy *curpx,
      |                                                 ~~~~^~~~~~~~~~~~
src/mux_h2.c:5934:81: warning: unused parameter 'curpx' [-Wunused-parameter]
 5934 | static int h2_parse_max_frame_size(char **args, int section_type, struct proxy *curpx,
      |                                                                   ~~~~~~~~~~~~~~^~~~~
src/mux_h2.c:5935:50: warning: unused parameter 'defpx' [-Wunused-parameter]
 5935 |                                    struct proxy *defpx, const char *file, int line,
      |                                    ~~~~~~~~~~~~~~^~~~~
src/mux_h2.c:5935:69: warning: unused parameter 'file' [-Wunused-parameter]
 5935 |                                    struct proxy *defpx, const char *file, int line,
      |                                                         ~~~~~~~~~~~~^~~~
src/mux_h2.c:5935:79: warning: unused parameter 'line' [-Wunused-parameter]
 5935 |                                    struct proxy *defpx, const char *file, int line,
      |                                                                           ~~~~^~~~
In file included from include/common/cfgparse.h:27,
                 from src/mux_h2.c:13:
src/mux_h2.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct mux_proto_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/mux_h2.c:5980:1: note: in expansion of macro 'INITCALL1'
 5980 | INITCALL1(STG_REGISTER, register_mux_proto, &mux_proto_h2);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct mux_proto_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/mux_h2.c:6008:1: note: in expansion of macro 'INITCALL1'
 6008 | INITCALL1(STG_REGISTER, register_mux_proto, &mux_proto_h2_htx);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/mux_h2.c:6019:1: note: in expansion of macro 'INITCALL1'
 6019 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/mux_h1.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mux_h1.c:12:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/common/h2.h:34,
                 from src/mux_h1.c:15:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/mux_h1.c:25:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/mux_h1.c:25:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/stream_interface.h:32,
                 from src/mux_h1.c:30:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/common/cfgparse.h:27,
                 from src/mux_h1.c:12:
src/mux_h1.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/mux_h1.c:131:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  131 | DECLARE_STATIC_POOL(pool_head_h1c, "h1c", sizeof(struct h1c));
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/mux_h1.c:132:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  132 | DECLARE_STATIC_POOL(pool_head_h1s, "h1s", sizeof(struct h1s));
      | ^~~~~~~~~~~~~~~~~~~
src/mux_h1.c: In function 'h1_process_input_conn_mode':
src/mux_h1.c:807:86: warning: unused parameter 'htx' [-Wunused-parameter]
  807 | static void h1_process_input_conn_mode(struct h1s *h1s, struct h1m *h1m, struct htx *htx)
      |                                                                          ~~~~~~~~~~~~^~~
src/mux_h1.c: In function 'h1_capture_bad_message':
src/mux_h1.c:899:30: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  899 |        (h1m->err_pos >= 0) ? h1m->err_pos : h1m->next,
      |                              ^~~~~~~~~~~~
src/mux_h1.c: In function 'h1_eval_htx_req_size':
src/mux_h1.c:989:48: warning: unused parameter 'h1m' [-Wunused-parameter]
  989 | static size_t h1_eval_htx_req_size(struct h1m *h1m, union h1_sl *h1sl, struct http_hdr *hdrs)
      |                                    ~~~~~~~~~~~~^~~
src/mux_h1.c: In function 'h1_eval_htx_res_size':
src/mux_h1.c:1000:48: warning: unused parameter 'h1m' [-Wunused-parameter]
 1000 | static size_t h1_eval_htx_res_size(struct h1m *h1m, union h1_sl *h1sl, struct http_hdr *hdrs)
      |                                    ~~~~~~~~~~~~^~~
src/mux_h1.c: In function 'h1_process_data':
src/mux_h1.c:1245:12: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1245 |    if (ret > b_contig_data(buf, *ofs))
      |            ^
In file included from include/common/config.h:25,
                 from include/common/cfgparse.h:26,
                 from src/mux_h1.c:12:
src/mux_h1.c:1259:43: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1259 |     if (unlikely(htx_is_empty(htx) && ret == b_data(buf) &&
      |                                           ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/mux_h1.c:1328:13: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1328 |     if (ret > b_contig_data(buf, *ofs))
      |             ^
src/mux_h1.c:1360:11: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1360 |   if (ret > b_contig_data(buf, *ofs))
      |           ^
src/mux_h1.c: In function 'h1_io_cb':
src/mux_h1.c:2137:43: warning: unused parameter 't' [-Wunused-parameter]
 2137 | static struct task *h1_io_cb(struct task *t, void *ctx, unsigned short status)
      |                              ~~~~~~~~~~~~~^
src/mux_h1.c:2137:72: warning: unused parameter 'status' [-Wunused-parameter]
 2137 | static struct task *h1_io_cb(struct task *t, void *ctx, unsigned short status)
      |                                                         ~~~~~~~~~~~~~~~^~~~~~
src/mux_h1.c: In function 'h1_timeout_task':
src/mux_h1.c:2178:83: warning: unused parameter 'state' [-Wunused-parameter]
 2178 | static struct task *h1_timeout_task(struct task *t, void *context, unsigned short state)
      |                                                                    ~~~~~~~~~~~~~~~^~~~~
src/mux_h1.c: In function 'h1_snd_buf':
src/mux_h1.c:2493:88: warning: unused parameter 'flags' [-Wunused-parameter]
 2493 | static size_t h1_snd_buf(struct conn_stream *cs, struct buffer *buf, size_t count, int flags)
      |                                                                                    ~~~~^~~~~
src/mux_h1.c: In function 'h1_ctl':
src/mux_h1.c:2583:77: warning: unused parameter 'output' [-Wunused-parameter]
 2583 | static int h1_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
      |                                                                       ~~~~~~^~~~~~
src/mux_h1.c: In function 'cfg_parse_h1_header_case_adjust':
src/mux_h1.c:2774:61: warning: unused parameter 'section_type' [-Wunused-parameter]
 2774 | static int cfg_parse_h1_header_case_adjust(char **args, int section_type, struct proxy *curpx,
      |                                                         ~~~~^~~~~~~~~~~~
src/mux_h1.c:2774:89: warning: unused parameter 'curpx' [-Wunused-parameter]
 2774 | static int cfg_parse_h1_header_case_adjust(char **args, int section_type, struct proxy *curpx,
      |                                                                           ~~~~~~~~~~~~~~^~~~~
src/mux_h1.c:2775:23: warning: unused parameter 'defpx' [-Wunused-parameter]
 2775 |         struct proxy *defpx, const char *file, int line,
      |         ~~~~~~~~~~~~~~^~~~~
src/mux_h1.c:2775:42: warning: unused parameter 'file' [-Wunused-parameter]
 2775 |         struct proxy *defpx, const char *file, int line,
      |                              ~~~~~~~~~~~~^~~~
src/mux_h1.c:2775:52: warning: unused parameter 'line' [-Wunused-parameter]
 2775 |         struct proxy *defpx, const char *file, int line,
      |                                                ~~~~^~~~
src/mux_h1.c: In function 'cfg_parse_h1_headers_case_adjust_file':
src/mux_h1.c:2788:67: warning: unused parameter 'section_type' [-Wunused-parameter]
 2788 | static int cfg_parse_h1_headers_case_adjust_file(char **args, int section_type, struct proxy *curpx,
      |                                                               ~~~~^~~~~~~~~~~~
src/mux_h1.c:2788:95: warning: unused parameter 'curpx' [-Wunused-parameter]
 2788 | static int cfg_parse_h1_headers_case_adjust_file(char **args, int section_type, struct proxy *curpx,
      |                                                                                 ~~~~~~~~~~~~~~^~~~~
src/mux_h1.c:2789:22: warning: unused parameter 'defpx' [-Wunused-parameter]
 2789 |        struct proxy *defpx, const char *file, int line,
      |        ~~~~~~~~~~~~~~^~~~~
src/mux_h1.c:2789:41: warning: unused parameter 'file' [-Wunused-parameter]
 2789 |        struct proxy *defpx, const char *file, int line,
      |                             ~~~~~~~~~~~~^~~~
src/mux_h1.c:2789:51: warning: unused parameter 'line' [-Wunused-parameter]
 2789 |        struct proxy *defpx, const char *file, int line,
      |                                               ~~~~^~~~
In file included from include/common/cfgparse.h:27,
                 from src/mux_h1.c:12:
src/mux_h1.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/mux_h1.c:2812:1: note: in expansion of macro 'INITCALL1'
 2812 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:152:2: note: in expansion of macro 'INITCALL2'
  152 |  INITCALL2(STG_REGISTER, cfg_register_postparser, (name), (parser))
      |  ^~~~~~~~~
src/mux_h1.c:2813:1: note: in expansion of macro 'REGISTER_CONFIG_POSTPARSER'
 2813 | REGISTER_CONFIG_POSTPARSER("h1-headers-map", cfg_h1_headers_case_adjust_postparser);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct mux_proto_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/mux_h1.c:2853:1: note: in expansion of macro 'INITCALL1'
 2853 | INITCALL1(STG_REGISTER, register_mux_proto, &mux_proto_htx);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/peers.o
In file included from include/common/standard.h:36,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from src/peers.c:25:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/peers.c:25:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/peers.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/peers.c:29:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/peers.c:29:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/peers.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/peers.c:29:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/peers.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/peers.c:29:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/peers.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/peers.c:29:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/peers.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/applet.h:29,
                 from src/peers.c:36:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/peers.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/applet.h:29,
                 from src/peers.c:36:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/peers.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/peers.c:29:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/peers.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/peers.c:29:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/peers.c:25:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/peers.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/peers.c:29:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/peers.c:36:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/peers.c:36:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/peers.c:36:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from src/peers.c:37:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/peers.c:37:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/peers.c: In function 'peer_prepare_hellomsg':
src/peers.c:361:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  361 |  if (ret >= size)
      |          ^~
src/peers.c: In function 'peer_prepare_status_successmsg':
src/peers.c:377:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  377 |  if (ret >= size)
      |          ^~
src/peers.c:372:92: warning: unused parameter 'p' [-Wunused-parameter]
  372 | static int peer_prepare_status_successmsg(char *msg, size_t size, struct peer_prep_params *p)
      |                                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~^
src/peers.c: In function 'peer_prepare_status_errormsg':
src/peers.c:395:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  395 |  if (ret >= size)
      |          ^~
src/peers.c: In function 'peer_prepare_updatemsg':
src/peers.c:427:53: warning: unused parameter 'size' [-Wunused-parameter]
  427 | static int peer_prepare_updatemsg(char *msg, size_t size, struct peer_prep_params *p)
      |                                              ~~~~~~~^~~~
src/peers.c: In function 'peer_prepare_switchmsg':
src/peers.c:597:53: warning: unused parameter 'size' [-Wunused-parameter]
  597 | static int peer_prepare_switchmsg(char *msg, size_t size, struct peer_prep_params *params)
      |                                              ~~~~~~~^~~~
src/peers.c: In function 'peer_prepare_ackmsg':
src/peers.c:682:50: warning: unused parameter 'size' [-Wunused-parameter]
  682 | static int peer_prepare_ackmsg(char *msg, size_t size, struct peer_prep_params *p)
      |                                           ~~~~~~~^~~~
src/peers.c: In function 'peer_send_teachmsgs':
src/peers.c:1243:2: warning: label 'out' defined but not used [-Wunused-label]
 1243 |  out:
      |  ^~~
src/peers.c: In function 'peer_treat_updatemsg':
src/peers.c:1327:15: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1327 |   if (msg_len < sizeof(update))
      |               ^
src/peers.c: In function 'peer_treat_ackmsg':
src/peers.c:1556:20: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
 1556 |   if (st->local_id == table_id) {
      |                    ^~
src/peers.c: In function 'peer_treat_definemsg':
src/peers.c:1634:41: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1634 |   if (!p->remote_table && (table_id_len == strlen(st->table->nid)) &&
      |                                         ^~
src/peers.c:1658:35: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
 1658 |  if (p->remote_table->table->type != table_type
      |                                   ^~
src/peers.c:1659:39: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1659 |   || p->remote_table->table->key_size != table_keylen) {
      |                                       ^~
src/peers.c: In function 'peer_recv_msg':
src/peers.c:1713:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1713 |   for (i = 3 ; i < msg_head_sz ; i++) {
      |                  ^
src/peers.c:1724:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1724 |   if (i == msg_head_sz) {
      |         ^~
src/peers.c: In function 'flush_dcache':
src/peers.c:2949:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2949 |  for (i = 0; i < dc->max_entries; i++)
      |                ^
src/peers.c: In function 'cli_parse_show_peers':
src/peers.c:3044:52: warning: unused parameter 'payload' [-Wunused-parameter]
 3044 | static int cli_parse_show_peers(char **args, char *payload, struct appctx *appctx, void *private)
      |                                              ~~~~~~^~~~~~~
src/peers.c:3044:90: warning: unused parameter 'private' [-Wunused-parameter]
 3044 | static int cli_parse_show_peers(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/peers.c: In function 'peers_dump_peer':
src/peers.c:3209:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3209 |    for (i = 0; i < dcache->max_entries; i++) {
      |                  ^
src/peers.c:3225:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3225 |    for (i = 0; i < dcache->max_entries; i++) {
      |                  ^
src/peers.c:3236:2: warning: label 'end' defined but not used [-Wunused-label]
 3236 |  end:
      |  ^~~
src/peers.c: At top level:
src/peers.c:3325:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 3325 |  { { "show", "peers", NULL }, "show peers [peers section]: dump some information about all the peers or this peers section", cli_parse_show_peers, cli_io_handler_show_peers, },
      |  ^
In file included from include/proto/cli.h:28,
                 from src/peers.c:38:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/time.h:30,
                 from src/peers.c:25:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/peers.c:3330:1: note: in expansion of macro 'INITCALL1'
 3330 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
In file included from include/common/time.h:30,
                 from src/peers.c:25:
src/peers.c: In function 'peer_io_handler':
include/common/hathreads.h:390:39: warning: this statement may fall through [-Wimplicit-fallthrough=]
  390 | #define _HA_ATOMIC_ADD(val, i)        __atomic_add_fetch(val, i, __ATOMIC_RELAXED)
      |                                       ^~~~~~~~~~~~~~~~~~
src/peers.c:2249:5: note: in expansion of macro '_HA_ATOMIC_ADD'
 2249 |     _HA_ATOMIC_ADD(&active_peers, 1);
      |     ^~~~~~~~~~~~~~
src/peers.c:2252:4: note: here
 2252 |    case PEER_SESS_ST_SENDSUCCESS: {
      |    ^~~~
src/peers.c:2296:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2296 |     appctx->st0 = PEER_SESS_ST_GETSTATUS;
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
src/peers.c:2299:4: note: here
 2299 |    case PEER_SESS_ST_GETSTATUS: {
      |    ^~~~
src/peers.c:2338:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2338 |     appctx->st0 = PEER_SESS_ST_WAITMSG;
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
src/peers.c:2341:4: note: here
 2341 |    case PEER_SESS_ST_WAITMSG: {
      |    ^~~~
src/peers.c:2424:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2424 |     prev_state = appctx->st0;
      |     ~~~~~~~~~~~^~~~~~~~~~~~~
src/peers.c:2427:4: note: here
 2427 |    case PEER_SESS_ST_END: {
      |    ^~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/proxy.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/proxy.c:39:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/proxy.c:39:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/filters.h:30,
                 from src/proxy.c:43:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/filters.h:30,
                 from src/proxy.c:43:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/proxy.c:48:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
src/proxy.c: At top level:
src/proxy.c:117:2: warning: missing initializer for field 'mode' of 'const struct cfg_opt' [-Wmissing-field-initializers]
  117 |  { NULL, 0, 0, 0 }
      |  ^
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/proxy.c:21:
include/types/proxy.h:556:15: note: 'mode' declared here
  556 |  unsigned int mode;
      |               ^~~~
src/proxy.c: In function 'proxy_parse_timeout':
src/proxy.c:200:49: warning: unused parameter 'section' [-Wunused-parameter]
  200 | static int proxy_parse_timeout(char **args, int section, struct proxy *proxy,
      |                                             ~~~~^~~~~~~
src/proxy.c:201:65: warning: unused parameter 'file' [-Wunused-parameter]
  201 |                                struct proxy *defpx, const char *file, int line,
      |                                                     ~~~~~~~~~~~~^~~~
src/proxy.c:201:75: warning: unused parameter 'line' [-Wunused-parameter]
  201 |                                struct proxy *defpx, const char *file, int line,
      |                                                                       ~~~~^~~~
src/proxy.c: In function 'proxy_parse_rate_limit':
src/proxy.c:329:52: warning: unused parameter 'section' [-Wunused-parameter]
  329 | static int proxy_parse_rate_limit(char **args, int section, struct proxy *proxy,
      |                                                ~~~~^~~~~~~
src/proxy.c:330:68: warning: unused parameter 'file' [-Wunused-parameter]
  330 |                                   struct proxy *defpx, const char *file, int line,
      |                                                        ~~~~~~~~~~~~^~~~
src/proxy.c:330:78: warning: unused parameter 'line' [-Wunused-parameter]
  330 |                                   struct proxy *defpx, const char *file, int line,
      |                                                                          ~~~~^~~~
src/proxy.c: In function 'proxy_parse_max_ka_queue':
src/proxy.c:384:54: warning: unused parameter 'section' [-Wunused-parameter]
  384 | static int proxy_parse_max_ka_queue(char **args, int section, struct proxy *proxy,
      |                                                  ~~~~^~~~~~~
src/proxy.c:385:51: warning: unused parameter 'defpx' [-Wunused-parameter]
  385 |                                     struct proxy *defpx, const char *file, int line,
      |                                     ~~~~~~~~~~~~~~^~~~~
src/proxy.c:385:70: warning: unused parameter 'file' [-Wunused-parameter]
  385 |                                     struct proxy *defpx, const char *file, int line,
      |                                                          ~~~~~~~~~~~~^~~~
src/proxy.c:385:80: warning: unused parameter 'line' [-Wunused-parameter]
  385 |                                     struct proxy *defpx, const char *file, int line,
      |                                                                            ~~~~^~~~
src/proxy.c: In function 'proxy_parse_declare':
src/proxy.c:423:49: warning: unused parameter 'section' [-Wunused-parameter]
  423 | static int proxy_parse_declare(char **args, int section, struct proxy *curpx,
      |                                             ~~~~^~~~~~~
src/proxy.c:424:65: warning: unused parameter 'file' [-Wunused-parameter]
  424 |                                struct proxy *defpx, const char *file, int line,
      |                                                     ~~~~~~~~~~~~^~~~
src/proxy.c:424:75: warning: unused parameter 'line' [-Wunused-parameter]
  424 |                                struct proxy *defpx, const char *file, int line,
      |                                                                       ~~~~^~~~
src/proxy.c: In function 'proxy_parse_retry_on':
src/proxy.c:518:39: warning: unused parameter 'section' [-Wunused-parameter]
  518 | proxy_parse_retry_on(char **args, int section, struct proxy *curpx,
      |                                   ~~~~^~~~~~~
src/proxy.c:519:46: warning: unused parameter 'defpx' [-Wunused-parameter]
  519 |                                struct proxy *defpx, const char *file, int line,
      |                                ~~~~~~~~~~~~~~^~~~~
src/proxy.c:519:65: warning: unused parameter 'file' [-Wunused-parameter]
  519 |                                struct proxy *defpx, const char *file, int line,
      |                                                     ~~~~~~~~~~~~^~~~
src/proxy.c:519:75: warning: unused parameter 'line' [-Wunused-parameter]
  519 |                                struct proxy *defpx, const char *file, int line,
      |                                                                       ~~~~^~~~
src/proxy.c: In function 'manage_proxy':
src/proxy.c:978:73: warning: unused parameter 'state' [-Wunused-parameter]
  978 | struct task *manage_proxy(struct task *t, void *context, unsigned short state)
      |                                                          ~~~~~~~~~~~~~~~^~~~~
src/proxy.c: In function 'proxy_parse_hard_stop_after':
src/proxy.c:1060:57: warning: unused parameter 'section_type' [-Wunused-parameter]
 1060 | static int proxy_parse_hard_stop_after(char **args, int section_type, struct proxy *curpx,
      |                                                     ~~~~^~~~~~~~~~~~
src/proxy.c:1060:85: warning: unused parameter 'curpx' [-Wunused-parameter]
 1060 | static int proxy_parse_hard_stop_after(char **args, int section_type, struct proxy *curpx,
      |                                                                       ~~~~~~~~~~~~~~^~~~~
src/proxy.c:1061:47: warning: unused parameter 'defpx' [-Wunused-parameter]
 1061 |                                 struct proxy *defpx, const char *file, int line,
      |                                 ~~~~~~~~~~~~~~^~~~~
src/proxy.c:1061:66: warning: unused parameter 'file' [-Wunused-parameter]
 1061 |                                 struct proxy *defpx, const char *file, int line,
      |                                                      ~~~~~~~~~~~~^~~~
src/proxy.c:1061:76: warning: unused parameter 'line' [-Wunused-parameter]
 1061 |                                 struct proxy *defpx, const char *file, int line,
      |                                                                        ~~~~^~~~
src/proxy.c: In function 'hard_stop':
src/proxy.c:1088:46: warning: unused parameter 'context' [-Wunused-parameter]
 1088 | struct task *hard_stop(struct task *t, void *context, unsigned short state)
      |                                        ~~~~~~^~~~~~~
src/proxy.c:1088:70: warning: unused parameter 'state' [-Wunused-parameter]
 1088 | struct task *hard_stop(struct task *t, void *context, unsigned short state)
      |                                                       ~~~~~~~~~~~~~~~^~~~~
src/proxy.c: In function 'proxy_capture_error':
src/proxy.c:1589:11: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1589 |  if (len1 > buf_len)
      |           ^
In file included from include/common/cfgparse.h:27,
                 from src/proxy.c:21:
src/proxy.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proxy.c:1727:1: note: in expansion of macro 'INITCALL1'
 1727 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
src/proxy.c: In function 'cli_parse_show_servers':
src/proxy.c:1784:54: warning: unused parameter 'payload' [-Wunused-parameter]
 1784 | static int cli_parse_show_servers(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                ~~~~~~^~~~~~~
src/proxy.c:1784:92: warning: unused parameter 'private' [-Wunused-parameter]
 1784 | static int cli_parse_show_servers(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_parse_enable_dyncookie_backend':
src/proxy.c:1961:66: warning: unused parameter 'payload' [-Wunused-parameter]
 1961 | static int cli_parse_enable_dyncookie_backend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                            ~~~~~~^~~~~~~
src/proxy.c:1961:104: warning: unused parameter 'private' [-Wunused-parameter]
 1961 | static int cli_parse_enable_dyncookie_backend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                                  ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_parse_disable_dyncookie_backend':
src/proxy.c:1993:67: warning: unused parameter 'payload' [-Wunused-parameter]
 1993 | static int cli_parse_disable_dyncookie_backend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                             ~~~~~~^~~~~~~
src/proxy.c:1993:105: warning: unused parameter 'private' [-Wunused-parameter]
 1993 | static int cli_parse_disable_dyncookie_backend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                                   ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_parse_set_dyncookie_key_backend':
src/proxy.c:2028:67: warning: unused parameter 'payload' [-Wunused-parameter]
 2028 | static int cli_parse_set_dyncookie_key_backend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                             ~~~~~~^~~~~~~
src/proxy.c:2028:105: warning: unused parameter 'private' [-Wunused-parameter]
 2028 | static int cli_parse_set_dyncookie_key_backend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                                   ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_parse_set_maxconn_frontend':
src/proxy.c:2077:62: warning: unused parameter 'payload' [-Wunused-parameter]
 2077 | static int cli_parse_set_maxconn_frontend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                        ~~~~~~^~~~~~~
src/proxy.c:2077:100: warning: unused parameter 'private' [-Wunused-parameter]
 2077 | static int cli_parse_set_maxconn_frontend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                              ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_parse_shutdown_frontend':
src/proxy.c:2128:59: warning: unused parameter 'payload' [-Wunused-parameter]
 2128 | static int cli_parse_shutdown_frontend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                     ~~~~~~^~~~~~~
src/proxy.c:2128:97: warning: unused parameter 'private' [-Wunused-parameter]
 2128 | static int cli_parse_shutdown_frontend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                           ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_parse_disable_frontend':
src/proxy.c:2159:58: warning: unused parameter 'payload' [-Wunused-parameter]
 2159 | static int cli_parse_disable_frontend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                    ~~~~~~^~~~~~~
src/proxy.c:2159:96: warning: unused parameter 'private' [-Wunused-parameter]
 2159 | static int cli_parse_disable_frontend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                          ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_parse_enable_frontend':
src/proxy.c:2202:57: warning: unused parameter 'payload' [-Wunused-parameter]
 2202 | static int cli_parse_enable_frontend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                   ~~~~~~^~~~~~~
src/proxy.c:2202:95: warning: unused parameter 'private' [-Wunused-parameter]
 2202 | static int cli_parse_enable_frontend(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_parse_show_errors':
src/proxy.c:2244:53: warning: unused parameter 'payload' [-Wunused-parameter]
 2244 | static int cli_parse_show_errors(char **args, char *payload, struct appctx *appctx, void *private)
      |                                               ~~~~~~^~~~~~~
src/proxy.c:2244:91: warning: unused parameter 'private' [-Wunused-parameter]
 2244 | static int cli_parse_show_errors(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/proxy.c: In function 'cli_io_handler_show_errors':
src/proxy.c:2411:33: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2411 |   while (appctx->ctx.errors.ptr < es->buf_len && appctx->ctx.errors.ptr < global.tune.bufsize) {
      |                                 ^
src/proxy.c: At top level:
src/proxy.c:2447:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2447 |  { { "disable", "frontend",  NULL }, "disable frontend : temporarily disable specific frontend", cli_parse_disable_frontend, NULL, NULL },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/proxy.c:2448:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2448 |  { { "enable", "frontend",  NULL }, "enable frontend : re-enable specific frontend", cli_parse_enable_frontend, NULL, NULL },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/proxy.c:2449:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2449 |  { { "set", "maxconn", "frontend",  NULL }, "set maxconn frontend : change a frontend's maxconn setting", cli_parse_set_maxconn_frontend, NULL },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/proxy.c:2450:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2450 |  { { "show","servers", "state",  NULL }, "show servers state [id]: dump volatile server information (for backend <id>)", cli_parse_show_servers, cli_io_handler_servers_state },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/proxy.c:2451:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2451 |  { { "show", "backend", NULL }, "show backend   : list backends in the current running config", NULL, cli_io_handler_show_backend },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/proxy.c:2452:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2452 |  { { "shutdown", "frontend",  NULL }, "shutdown frontend : stop a specific frontend", cli_parse_shutdown_frontend, NULL, NULL },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/proxy.c:2453:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2453 |  { { "set", "dynamic-cookie-key", "backend", NULL }, "set dynamic-cookie-key backend : change a backend secret key for dynamic cookies", cli_parse_set_dyncookie_key_backend, NULL },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/proxy.c:2454:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2454 |  { { "enable", "dynamic-cookie", "backend", NULL }, "enable dynamic-cookie backend : enable dynamic cookies on a specific backend", cli_parse_enable_dyncookie_backend, NULL },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/proxy.c:2455:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2455 |  { { "disable", "dynamic-cookie", "backend", NULL }, "disable dynamic-cookie backend : disable dynamic cookies on a specific backend", cli_parse_disable_dyncookie_backend, NULL },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/proxy.c:2456:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2456 |  { { "show", "errors", NULL }, "show errors    : report last request and response errors for each proxy", cli_parse_show_errors, cli_io_handler_show_errors, NULL },
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/proxy.c:2457:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 2457 |  {{},}
      |  ^
In file included from src/proxy.c:33:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/proxy.c:21:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proxy.c:2460:1: note: in expansion of macro 'INITCALL1'
 2460 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/pattern.o
In file included from include/common/standard.h:36,
                 from src/pattern.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/pattern.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/pattern.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/pattern.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/pattern.c:20:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/pattern.c:20:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/pattern.c:20:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/pattern.c:20:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/pattern.c:20:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/pattern.c:23:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/pattern.c:23:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/pattern.c:20:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/pattern.c:20:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/pattern.c:20:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/pattern.c:23:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/pattern.c:27:
ebtree/ebsttree.h: In function '__ebst_insert':
ebtree/ebsttree.h:149:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  149 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:176:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  176 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:177:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  177 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:178:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  178 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:179:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  179 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:216:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/pattern.c:18:
ebtree/ebsttree.h:262:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  262 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pattern.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from src/pattern.c:27:
ebtree/ebsttree.h:278:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  278 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:279:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  279 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:303:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  303 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:319:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  319 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
src/pattern.c: In function 'pat_parse_nothing':
src/pattern.c:207:35: warning: unused parameter 'text' [-Wunused-parameter]
  207 | int pat_parse_nothing(const char *text, struct pattern *pattern, int mflags, char **err)
      |                       ~~~~~~~~~~~~^~~~
src/pattern.c:207:57: warning: unused parameter 'pattern' [-Wunused-parameter]
  207 | int pat_parse_nothing(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                         ~~~~~~~~~~~~~~~~^~~~~~~
src/pattern.c:207:70: warning: unused parameter 'mflags' [-Wunused-parameter]
  207 | int pat_parse_nothing(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                                  ~~~~^~~~~~
src/pattern.c:207:85: warning: unused parameter 'err' [-Wunused-parameter]
  207 | int pat_parse_nothing(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                                              ~~~~~~~^~~
src/pattern.c: In function 'pat_parse_str':
src/pattern.c:213:66: warning: unused parameter 'mflags' [-Wunused-parameter]
  213 | int pat_parse_str(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                              ~~~~^~~~~~
src/pattern.c:213:81: warning: unused parameter 'err' [-Wunused-parameter]
  213 | int pat_parse_str(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                                          ~~~~~~~^~~
src/pattern.c: In function 'pat_parse_bin':
src/pattern.c:222:66: warning: unused parameter 'mflags' [-Wunused-parameter]
  222 | int pat_parse_bin(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                              ~~~~^~~~~~
src/pattern.c: In function 'pat_parse_reg':
src/pattern.c:234:66: warning: unused parameter 'mflags' [-Wunused-parameter]
  234 | int pat_parse_reg(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                              ~~~~^~~~~~
src/pattern.c:234:81: warning: unused parameter 'err' [-Wunused-parameter]
  234 | int pat_parse_reg(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                                          ~~~~~~~^~~
src/pattern.c: In function 'pat_parse_int':
src/pattern.c:255:66: warning: unused parameter 'mflags' [-Wunused-parameter]
  255 | int pat_parse_int(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                              ~~~~^~~~~~
src/pattern.c: In function 'pat_parse_dotted_ver':
src/pattern.c:340:73: warning: unused parameter 'mflags' [-Wunused-parameter]
  340 | int pat_parse_dotted_ver(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                                     ~~~~^~~~~~
src/pattern.c: In function 'pat_match_nothing':
src/pattern.c:435:76: warning: unused parameter 'expr' [-Wunused-parameter]
  435 | struct pattern *pat_match_nothing(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                       ~~~~~~~~~~~~~~~~~~~~~^~~~
src/pattern.c: In function 'pat_match_str':
src/pattern.c:502:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  502 |   if (pattern->len != smp->data.u.str.data)
      |                    ^~
src/pattern.c: In function 'pat_match_bin':
src/pattern.c:541:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  541 |   if (pattern->len != smp->data.u.str.data)
      |                    ^~
src/pattern.c:520:82: warning: unused parameter 'fill' [-Wunused-parameter]
  520 | struct pattern *pat_match_bin(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                              ~~~~^~~~
src/pattern.c: In function 'pat_match_regm':
src/pattern.c:560:83: warning: unused parameter 'fill' [-Wunused-parameter]
  560 | struct pattern *pat_match_regm(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                               ~~~~^~~~
src/pattern.c: In function 'pat_match_reg':
src/pattern.c:583:82: warning: unused parameter 'fill' [-Wunused-parameter]
  583 | struct pattern *pat_match_reg(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                              ~~~~^~~~
src/pattern.c: In function 'pat_match_beg':
src/pattern.c:667:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  667 |   if (pattern->len > smp->data.u.str.data)
      |                    ^
src/pattern.c: In function 'pat_match_end':
src/pattern.c:708:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  708 |   if (pattern->len > smp->data.u.str.data)
      |                    ^
src/pattern.c:686:82: warning: unused parameter 'fill' [-Wunused-parameter]
  686 | struct pattern *pat_match_end(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                              ~~~~^~~~
src/pattern.c: In function 'pat_match_sub':
src/pattern.c:753:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  753 |   if (pattern->len > smp->data.u.str.data)
      |                    ^
src/pattern.c:729:82: warning: unused parameter 'fill' [-Wunused-parameter]
  729 | struct pattern *pat_match_sub(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                              ~~~~^~~~
src/pattern.c: In function 'match_word':
src/pattern.c:809:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  809 |  if (pl > smp->data.u.str.data)
      |         ^
src/pattern.c: In function 'pat_match_dir':
src/pattern.c:844:82: warning: unused parameter 'fill' [-Wunused-parameter]
  844 | struct pattern *pat_match_dir(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                              ~~~~^~~~
src/pattern.c: In function 'pat_match_dom':
src/pattern.c:861:82: warning: unused parameter 'fill' [-Wunused-parameter]
  861 | struct pattern *pat_match_dom(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                              ~~~~^~~~
src/pattern.c: In function 'pat_match_int':
src/pattern.c:875:82: warning: unused parameter 'fill' [-Wunused-parameter]
  875 | struct pattern *pat_match_int(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                              ~~~~^~~~
src/pattern.c: In function 'pat_match_len':
src/pattern.c:890:82: warning: unused parameter 'fill' [-Wunused-parameter]
  890 | struct pattern *pat_match_len(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                              ~~~~^~~~
src/pattern.c: In function 'pat_ref_push':
src/pattern.c:1910:22: warning: unused parameter 'patflags' [-Wunused-parameter]
 1910 |                  int patflags, char **err)
      |                  ~~~~^~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from include/common/standard.h:36,
                 from src/pattern.c:18:
src/pattern.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:326:2: note: in expansion of macro 'INITCALL1'
  326 |  INITCALL1(STG_REGISTER, hap_register_per_thread_alloc, (fct))
      |  ^~~~~~~~~
src/pattern.c:2739:1: note: in expansion of macro 'REGISTER_PER_THREAD_ALLOC'
 2739 | REGISTER_PER_THREAD_ALLOC(pattern_per_thread_lru_alloc);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:338:2: note: in expansion of macro 'INITCALL1'
  338 |  INITCALL1(STG_REGISTER, hap_register_per_thread_free, (fct))
      |  ^~~~~~~~~
src/pattern.c:2740:1: note: in expansion of macro 'REGISTER_PER_THREAD_FREE'
 2740 | REGISTER_PER_THREAD_FREE(pattern_per_thread_lru_free);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
src/pattern.c: In function 'pattern_exec_match':
src/pattern.c:2564:68: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2564 |       static_sample_data.u.str.area[static_sample_data.u.str.data] = 0;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
src/pattern.c:2565:6: note: here
 2565 |      case SMP_T_IPV4:
      |      ^~~~
src/pattern.c:2568:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2568 |       memcpy(&static_sample_data, pat->data, sizeof(struct sample_data));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pattern.c:2569:6: note: here
 2569 |      default:
      |      ^~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/log.o
In file included from include/common/standard.h:36,
                 from src/log.c:30:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/log.c:30:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/log.c:30:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/log.c:30:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/log.c:31:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/cli.h:24,
                 from src/log.c:33:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/cli.h:24,
                 from src/log.c:33:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/log.c:30:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/cli.h:24,
                 from src/log.c:33:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/log.c:37:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/log.c:37:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/log.c:37:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/log.c:44:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/log.c:44:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/log.c: At top level:
src/log.c:130:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  130 |  { "o", LOG_FMT_GLOBAL, PR_MODE_TCP, 0, NULL },  /* global option */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:133:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  133 |  { "B", LOG_FMT_BYTES, PR_MODE_TCP, LW_BYTES, NULL },     /* bytes from server to client */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:134:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  134 |  { "CC", LOG_FMT_CCLIENT, PR_MODE_HTTP, LW_REQHDR, NULL },  /* client cookie */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:135:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  135 |  { "CS", LOG_FMT_CSERVER, PR_MODE_HTTP, LW_RSPHDR, NULL },  /* server cookie */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:136:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  136 |  { "H", LOG_FMT_HOSTNAME, PR_MODE_TCP, LW_INIT, NULL }, /* Hostname */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:137:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  137 |  { "ID", LOG_FMT_UNIQUEID, PR_MODE_HTTP, LW_BYTES, NULL }, /* Unique ID */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:138:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  138 |  { "ST", LOG_FMT_STATUS, PR_MODE_TCP, LW_RESP, NULL },   /* status code */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:139:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  139 |  { "T", LOG_FMT_DATEGMT, PR_MODE_TCP, LW_INIT, NULL },   /* date GMT */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:140:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  140 |  { "Ta", LOG_FMT_Ta, PR_MODE_HTTP, LW_BYTES, NULL },      /* Time active (tr to end) */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:141:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  141 |  { "Tc", LOG_FMT_TC, PR_MODE_TCP, LW_BYTES, NULL },       /* Tc */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:142:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  142 |  { "Th", LOG_FMT_Th, PR_MODE_TCP, LW_BYTES, NULL },       /* Time handshake */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:143:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  143 |  { "Ti", LOG_FMT_Ti, PR_MODE_HTTP, LW_BYTES, NULL },      /* Time idle */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:144:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  144 |  { "Tl", LOG_FMT_DATELOCAL, PR_MODE_TCP, LW_INIT, NULL }, /* date local timezone */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:145:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  145 |  { "Tq", LOG_FMT_TQ, PR_MODE_HTTP, LW_BYTES, NULL },      /* Tq=Th+Ti+TR */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:146:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  146 |  { "Tr", LOG_FMT_Tr, PR_MODE_HTTP, LW_BYTES, NULL },      /* Tr */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:147:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  147 |  { "TR", LOG_FMT_TR, PR_MODE_HTTP, LW_BYTES, NULL },      /* Time to receive a valid request */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:148:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  148 |  { "Td", LOG_FMT_TD, PR_MODE_TCP, LW_BYTES, NULL },       /* Td = Tt - (Tq + Tw + Tc + Tr) */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:149:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  149 |  { "Ts", LOG_FMT_TS, PR_MODE_TCP, LW_INIT, NULL },   /* timestamp GMT */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:150:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  150 |  { "Tt", LOG_FMT_TT, PR_MODE_TCP, LW_BYTES, NULL },       /* Tt */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:151:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  151 |  { "Tw", LOG_FMT_TW, PR_MODE_TCP, LW_BYTES, NULL },       /* Tw */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:152:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  152 |  { "U", LOG_FMT_BYTES_UP, PR_MODE_TCP, LW_BYTES, NULL },  /* bytes from client to server */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:153:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  153 |  { "ac", LOG_FMT_ACTCONN, PR_MODE_TCP, LW_BYTES, NULL },  /* actconn */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:154:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  154 |  { "b", LOG_FMT_BACKEND, PR_MODE_TCP, LW_INIT, NULL },   /* backend */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:155:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  155 |  { "bc", LOG_FMT_BECONN, PR_MODE_TCP, LW_BYTES, NULL },   /* beconn */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:156:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  156 |  { "bi", LOG_FMT_BACKENDIP, PR_MODE_TCP, LW_BCKIP, prepare_addrsource }, /* backend source ip */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:157:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  157 |  { "bp", LOG_FMT_BACKENDPORT, PR_MODE_TCP, LW_BCKIP, prepare_addrsource }, /* backend source port */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:158:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  158 |  { "bq", LOG_FMT_BCKQUEUE, PR_MODE_TCP, LW_BYTES, NULL }, /* backend_queue */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:159:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  159 |  { "ci", LOG_FMT_CLIENTIP, PR_MODE_TCP, LW_CLIP | LW_XPRT, NULL },  /* client ip */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:160:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  160 |  { "cp", LOG_FMT_CLIENTPORT, PR_MODE_TCP, LW_CLIP | LW_XPRT, NULL }, /* client port */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:161:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  161 |  { "f", LOG_FMT_FRONTEND, PR_MODE_TCP, LW_INIT, NULL },  /* frontend */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:162:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  162 |  { "fc", LOG_FMT_FECONN, PR_MODE_TCP, LW_BYTES, NULL },   /* feconn */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:163:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  163 |  { "fi", LOG_FMT_FRONTENDIP, PR_MODE_TCP, LW_FRTIP | LW_XPRT, NULL }, /* frontend ip */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:164:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  164 |  { "fp", LOG_FMT_FRONTENDPORT, PR_MODE_TCP, LW_FRTIP | LW_XPRT, NULL }, /* frontend port */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:165:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  165 |  { "ft", LOG_FMT_FRONTEND_XPRT, PR_MODE_TCP, LW_INIT, NULL },  /* frontend with transport mode */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:166:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  166 |  { "hr", LOG_FMT_HDRREQUEST, PR_MODE_TCP, LW_REQHDR, NULL }, /* header request */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:167:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  167 |  { "hrl", LOG_FMT_HDRREQUESTLIST, PR_MODE_TCP, LW_REQHDR, NULL }, /* header request list */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:168:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  168 |  { "hs", LOG_FMT_HDRRESPONS, PR_MODE_TCP, LW_RSPHDR, NULL },  /* header response */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:169:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  169 |  { "hsl", LOG_FMT_HDRRESPONSLIST, PR_MODE_TCP, LW_RSPHDR, NULL },  /* header response list */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:170:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  170 |  { "HM", LOG_FMT_HTTP_METHOD, PR_MODE_HTTP, LW_REQ, NULL },  /* HTTP method */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:171:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  171 |  { "HP", LOG_FMT_HTTP_PATH, PR_MODE_HTTP, LW_REQ, NULL },  /* HTTP path */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:172:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  172 |  { "HQ", LOG_FMT_HTTP_QUERY, PR_MODE_HTTP, LW_REQ, NULL },  /* HTTP query */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:173:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  173 |  { "HU", LOG_FMT_HTTP_URI, PR_MODE_HTTP, LW_REQ, NULL },  /* HTTP full URI */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:174:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  174 |  { "HV", LOG_FMT_HTTP_VERSION, PR_MODE_HTTP, LW_REQ, NULL },  /* HTTP version */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:175:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  175 |  { "lc", LOG_FMT_LOGCNT, PR_MODE_TCP, LW_INIT, NULL }, /* log counter */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:176:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  176 |  { "ms", LOG_FMT_MS, PR_MODE_TCP, LW_INIT, NULL },       /* accept date millisecond */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:177:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  177 |  { "pid", LOG_FMT_PID, PR_MODE_TCP, LW_INIT, NULL }, /* log pid */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:178:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  178 |  { "r", LOG_FMT_REQ, PR_MODE_HTTP, LW_REQ, NULL },  /* request */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:179:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  179 |  { "rc", LOG_FMT_RETRIES, PR_MODE_TCP, LW_BYTES, NULL },  /* retries */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:180:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  180 |  { "rt", LOG_FMT_COUNTER, PR_MODE_TCP, LW_REQ, NULL }, /* request counter (HTTP or TCP session) */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:181:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  181 |  { "s", LOG_FMT_SERVER, PR_MODE_TCP, LW_SVID, NULL },    /* server */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:182:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  182 |  { "sc", LOG_FMT_SRVCONN, PR_MODE_TCP, LW_BYTES, NULL },  /* srv_conn */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:183:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  183 |  { "si", LOG_FMT_SERVERIP, PR_MODE_TCP, LW_SVIP, NULL }, /* server destination ip */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:184:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  184 |  { "sp", LOG_FMT_SERVERPORT, PR_MODE_TCP, LW_SVIP, NULL }, /* server destination port */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:185:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  185 |  { "sq", LOG_FMT_SRVQUEUE, PR_MODE_TCP, LW_BYTES, NULL  }, /* srv_queue */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:186:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  186 |  { "sslc", LOG_FMT_SSL_CIPHER, PR_MODE_TCP, LW_XPRT, NULL }, /* client-side SSL ciphers */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:187:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  187 |  { "sslv", LOG_FMT_SSL_VERSION, PR_MODE_TCP, LW_XPRT, NULL }, /* client-side SSL protocol version */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:188:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  188 |  { "t", LOG_FMT_DATE, PR_MODE_TCP, LW_INIT, NULL },      /* date */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:189:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  189 |  { "tr", LOG_FMT_tr, PR_MODE_HTTP, LW_INIT, NULL },      /* date of start of request */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:190:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  190 |  { "trg",LOG_FMT_trg, PR_MODE_HTTP, LW_INIT, NULL },     /* date of start of request, GMT */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:191:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  191 |  { "trl",LOG_FMT_trl, PR_MODE_HTTP, LW_INIT, NULL },     /* date of start of request, local */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:192:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  192 |  { "ts", LOG_FMT_TERMSTATE, PR_MODE_TCP, LW_BYTES, NULL },/* termination state */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:193:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  193 |  { "tsc", LOG_FMT_TERMSTATE_CK, PR_MODE_TCP, LW_INIT, NULL },/* termination state */
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c:207:2: warning: missing initializer for field 'replace_by' of 'const struct logformat_type' [-Wmissing-field-initializers]
  207 |  { 0, 0, 0, 0, NULL }
      |  ^
src/log.c:123:14: note: 'replace_by' declared here
  123 |  const char *replace_by; /* new option to use instead of old one */
      |              ^~~~~~~~~~
src/log.c: In function 'prepare_addrsource':
src/log.c:304:47: warning: unused parameter 'node' [-Wunused-parameter]
  304 | int prepare_addrsource(struct logformat_node *node, struct proxy *curproxy)
      |                        ~~~~~~~~~~~~~~~~~~~~~~~^~~~
src/log.c: In function 'parse_logformat_var':
src/log.c:378:42: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  378 |   if (strlen(logformat_keywords[j].name) == var_len &&
      |                                          ^~
src/log.c: In function 'print_message':
src/log.c:1041:74: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1041 |      (!startup_logs || strlen(startup_logs) + strlen(head) + strlen(msg) < global.tune.bufsize))
      |                                                                          ^
src/log.c: In function 'lf_ip':
src/log.c:1328:24: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1328 |   if (iret < 0 || iret > size)
      |                        ^
src/log.c: In function 'lf_port':
src/log.c:1352:24: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1352 |   if (iret < 0 || iret > size)
      |                        ^
In file included from include/common/config.h:25,
                 from src/log.c:27:
src/log.c: In function '__do_send_log':
src/log.c:1603:24: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1603 |  if (unlikely(hdr_size >= logsrv->maxlen)) {
      |                        ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/log.c:1634:24: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1634 |  if (unlikely(pid_size >= maxlen)) {
      |                        ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/log.c: In function 'sess_build_logline':
src/log.c:2378:72: warning: operand of ?: changes signedness from 'int' to 'long unsigned int' due to unsignedness of other operand [-Wsign-compare]
 2378 |      ret = ltoa_o((logs->t_data >= 0) ? logs->t_close - logs->t_data : -1,
      |                                                                        ^~
src/log.c:2381:78: warning: operand of ?: changes signedness from 'int' to 'long unsigned int' due to unsignedness of other operand [-Wsign-compare]
 2381 |      ret = ltoa_o((logs->t_connect >= 0) ? logs->t_close - logs->t_connect : -1,
      |                                                                              ^~
src/log.c: At top level:
src/log.c:3015:4: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 3015 |    NULL, cli_io_handler_show_startup_logs },
      |    ^~~~
In file included from src/log.c:33:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/log.c:3016:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 3016 |  {{},}
      |  ^
In file included from src/log.c:33:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from src/log.c:29:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/log.c:3019:1: note: in expansion of macro 'INITCALL1'
 3019 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:326:2: note: in expansion of macro 'INITCALL1'
  326 |  INITCALL1(STG_REGISTER, hap_register_per_thread_alloc, (fct))
      |  ^~~~~~~~~
src/log.c:3021:1: note: in expansion of macro 'REGISTER_PER_THREAD_ALLOC'
 3021 | REGISTER_PER_THREAD_ALLOC(init_log_buffers);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:338:2: note: in expansion of macro 'INITCALL1'
  338 |  INITCALL1(STG_REGISTER, hap_register_per_thread_free, (fct))
      |  ^~~~~~~~~
src/log.c:3022:1: note: in expansion of macro 'REGISTER_PER_THREAD_FREE'
 3022 | REGISTER_PER_THREAD_FREE(deinit_log_buffers);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/standard.o
In file included from src/standard.c:29:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/standard.c:31:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/standard.c:31:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/standard.c:31:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/standard.c:31:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/standard.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/standard.c:33:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/standard.c:33:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/standard.c:33:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
src/standard.c: In function 'ulltoa':
src/standard.c:153:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  153 |  if (i + 2 > size) // (i + 1) + '\0'
      |            ^
src/standard.c: In function 'ultoa_o':
src/standard.c:265:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  265 |  if (i + 2 > size) // (i + 1) + '\0'
      |            ^
src/standard.c: In function 'utoa_pad':
src/standard.c:371:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  371 |  if (i + 2 > size) // (i + 1) + '\0'
      |            ^
src/standard.c:373:8: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  373 |  if (i < size)
      |        ^
src/standard.c: In function 'url2sa':
src/standard.c:1319:18: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1319 |   if (trash.size < ulen)
      |                  ^
src/standard.c: In function 'buf2ip':
src/standard.c:2556:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2556 |  for (addr = buf; addr - buf < len; addr++) {
      |                              ^
src/standard.c: In function 'quote_arg':
src/standard.c:2627:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2627 |  for (i = 1; i < sizeof(val) - 2 && *ptr; i++)
      |                ^
src/standard.c: In function 'in_net_ipv6':
src/standard.c:2774:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 2774 |  for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                ^
src/standard.c: In function 'strnistr':
src/standard.c:3880:13: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 3880 |    if (tmp1 >= len_str1)
      |             ^~
src/standard.c:3897:30: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 3897 |    if (*pptr == '\0' || tmp2 == len_str2) /* end of pattern found */
      |                              ^~
src/standard.c:3899:30: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 3899 |    if (*sptr == '\0' || tmp2 == len_str1) /* end of string found and the pattern is not fully found */
      |                              ^~
src/standard.c: In function 'dump_text_line':
src/standard.c:4210:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 4210 |  if (end > out->size)
      |          ^
src/standard.c:4218:18: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4218 |    if (out->data > end - 2)
      |                  ^
src/standard.c:4222:18: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4222 |    if (out->data > end - 3)
      |                  ^
src/standard.c:4234:18: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 4234 |    if (out->data > end - 5)
      |                  ^
src/standard.c: In function 'trace':
src/standard.c:4348:18: warning: unused parameter 'msg' [-Wunused-parameter]
 4348 | void trace(char *msg, ...)
      |            ~~~~~~^~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/stream_interface.o
In file included from include/common/buffer.h:30,
                 from src/stream_interface.c:22:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/stream_interface.c:22:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/stream_interface.c:22:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/stream_interface.c:22:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/stream_interface.c:30:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/stream_interface.c:30:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/stream_interface.c:30:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/stream_interface.c:30:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from src/stream_interface.c:31:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/stream_interface.c:31:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/stream_interface.c: In function 'si_cs_io_cb':
src/stream_interface.c:799:39: warning: unused parameter 't' [-Wunused-parameter]
  799 | struct task *si_cs_io_cb(struct task *t, void *ctx, unsigned short state)
      |                          ~~~~~~~~~~~~~^
src/stream_interface.c:799:68: warning: unused parameter 'state' [-Wunused-parameter]
  799 | struct task *si_cs_io_cb(struct task *t, void *ctx, unsigned short state)
      |                                                     ~~~~~~~~~~~~~~~^~~~~
src/stream_interface.c: In function 'si_cs_recv':
src/stream_interface.c:1459:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1459 |       (cur_read <= ic->buf.size / 2)) {
      |                 ^~
src/stream_interface.c:1478:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1478 |     (cur_read >= ic->buf.size - global.tune.maxrewrite)) {
      |               ^~
src/stream_interface.c: In function 'stream_int_shutw':
src/stream_interface.c:238:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
  238 |   si->state = SI_ST_DIS;
      |   ~~~~~~~~~~^~~~~~~~~~~
src/stream_interface.c:239:2: note: here
  239 |  default:
      |  ^~~~~~~
src/stream_interface.c: In function 'stream_int_shutw_applet':
src/stream_interface.c:1696:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1696 |   si->state = SI_ST_DIS;
      |   ~~~~~~~~~~^~~~~~~~~~~
src/stream_interface.c:1697:2: note: here
 1697 |  default:
      |  ^~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/cli.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cli.c:29:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from src/cli.c:51:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/cli.c:51:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/proto/session.h:35,
                 from src/cli.c:66:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/ssl_sock.h:33,
                 from src/cli.c:69:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/cli.c: In function 'alloc_stats_fe':
src/cli.c:197:49: warning: unused parameter 'name' [-Wunused-parameter]
  197 | static struct proxy *alloc_stats_fe(const char *name, const char *file, int line)
      |                                     ~~~~~~~~~~~~^~~~
src/cli.c: In function 'stats_parse_global':
src/cli.c:230:48: warning: unused parameter 'section_type' [-Wunused-parameter]
  230 | static int stats_parse_global(char **args, int section_type, struct proxy *curpx,
      |                                            ~~~~^~~~~~~~~~~~
src/cli.c:230:76: warning: unused parameter 'curpx' [-Wunused-parameter]
  230 | static int stats_parse_global(char **args, int section_type, struct proxy *curpx,
      |                                                              ~~~~~~~~~~~~~~^~~~~
src/cli.c:231:45: warning: unused parameter 'defpx' [-Wunused-parameter]
  231 |                               struct proxy *defpx, const char *file, int line,
      |                               ~~~~~~~~~~~~~~^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/cli.c:29:
src/cli.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:152:2: note: in expansion of macro 'INITCALL2'
  152 |  INITCALL2(STG_REGISTER, cfg_register_postparser, (name), (parser))
      |  ^~~~~~~~~
src/cli.c:449:1: note: in expansion of macro 'REGISTER_CONFIG_POSTPARSER'
  449 | REGISTER_CONFIG_POSTPARSER("cli", cli_socket_setenv);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/cli.c: In function 'cli_io_handler_show_activity':
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1130:42: note: in expansion of macro 'SHOW_TOT'
 1130 |  chunk_appendf(&trash, "loops:");        SHOW_TOT(thr, activity[thr].loops);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1130:42: note: in expansion of macro 'SHOW_TOT'
 1130 |  chunk_appendf(&trash, "loops:");        SHOW_TOT(thr, activity[thr].loops);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1131:42: note: in expansion of macro 'SHOW_TOT'
 1131 |  chunk_appendf(&trash, "wake_cache:");   SHOW_TOT(thr, activity[thr].wake_cache);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1131:42: note: in expansion of macro 'SHOW_TOT'
 1131 |  chunk_appendf(&trash, "wake_cache:");   SHOW_TOT(thr, activity[thr].wake_cache);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1132:42: note: in expansion of macro 'SHOW_TOT'
 1132 |  chunk_appendf(&trash, "wake_tasks:");   SHOW_TOT(thr, activity[thr].wake_tasks);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1132:42: note: in expansion of macro 'SHOW_TOT'
 1132 |  chunk_appendf(&trash, "wake_tasks:");   SHOW_TOT(thr, activity[thr].wake_tasks);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1133:42: note: in expansion of macro 'SHOW_TOT'
 1133 |  chunk_appendf(&trash, "wake_signal:");  SHOW_TOT(thr, activity[thr].wake_signal);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1133:42: note: in expansion of macro 'SHOW_TOT'
 1133 |  chunk_appendf(&trash, "wake_signal:");  SHOW_TOT(thr, activity[thr].wake_signal);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1134:42: note: in expansion of macro 'SHOW_TOT'
 1134 |  chunk_appendf(&trash, "poll_exp:");     SHOW_TOT(thr, activity[thr].poll_exp);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1134:42: note: in expansion of macro 'SHOW_TOT'
 1134 |  chunk_appendf(&trash, "poll_exp:");     SHOW_TOT(thr, activity[thr].poll_exp);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1135:42: note: in expansion of macro 'SHOW_TOT'
 1135 |  chunk_appendf(&trash, "poll_drop:");    SHOW_TOT(thr, activity[thr].poll_drop);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1135:42: note: in expansion of macro 'SHOW_TOT'
 1135 |  chunk_appendf(&trash, "poll_drop:");    SHOW_TOT(thr, activity[thr].poll_drop);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1136:42: note: in expansion of macro 'SHOW_TOT'
 1136 |  chunk_appendf(&trash, "poll_dead:");    SHOW_TOT(thr, activity[thr].poll_dead);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1136:42: note: in expansion of macro 'SHOW_TOT'
 1136 |  chunk_appendf(&trash, "poll_dead:");    SHOW_TOT(thr, activity[thr].poll_dead);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1137:42: note: in expansion of macro 'SHOW_TOT'
 1137 |  chunk_appendf(&trash, "poll_skip:");    SHOW_TOT(thr, activity[thr].poll_skip);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1137:42: note: in expansion of macro 'SHOW_TOT'
 1137 |  chunk_appendf(&trash, "poll_skip:");    SHOW_TOT(thr, activity[thr].poll_skip);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1138:42: note: in expansion of macro 'SHOW_TOT'
 1138 |  chunk_appendf(&trash, "fd_lock:");      SHOW_TOT(thr, activity[thr].fd_lock);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1138:42: note: in expansion of macro 'SHOW_TOT'
 1138 |  chunk_appendf(&trash, "fd_lock:");      SHOW_TOT(thr, activity[thr].fd_lock);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1139:42: note: in expansion of macro 'SHOW_TOT'
 1139 |  chunk_appendf(&trash, "conn_dead:");    SHOW_TOT(thr, activity[thr].conn_dead);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1139:42: note: in expansion of macro 'SHOW_TOT'
 1139 |  chunk_appendf(&trash, "conn_dead:");    SHOW_TOT(thr, activity[thr].conn_dead);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1140:42: note: in expansion of macro 'SHOW_TOT'
 1140 |  chunk_appendf(&trash, "stream:");       SHOW_TOT(thr, activity[thr].stream);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1140:42: note: in expansion of macro 'SHOW_TOT'
 1140 |  chunk_appendf(&trash, "stream:");       SHOW_TOT(thr, activity[thr].stream);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1141:42: note: in expansion of macro 'SHOW_TOT'
 1141 |  chunk_appendf(&trash, "pool_fail:");    SHOW_TOT(thr, activity[thr].pool_fail);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1141:42: note: in expansion of macro 'SHOW_TOT'
 1141 |  chunk_appendf(&trash, "pool_fail:");    SHOW_TOT(thr, activity[thr].pool_fail);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1142:42: note: in expansion of macro 'SHOW_TOT'
 1142 |  chunk_appendf(&trash, "buf_wait:");     SHOW_TOT(thr, activity[thr].buf_wait);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1142:42: note: in expansion of macro 'SHOW_TOT'
 1142 |  chunk_appendf(&trash, "buf_wait:");     SHOW_TOT(thr, activity[thr].buf_wait);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1143:42: note: in expansion of macro 'SHOW_TOT'
 1143 |  chunk_appendf(&trash, "empty_rq:");     SHOW_TOT(thr, activity[thr].empty_rq);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1143:42: note: in expansion of macro 'SHOW_TOT'
 1143 |  chunk_appendf(&trash, "empty_rq:");     SHOW_TOT(thr, activity[thr].empty_rq);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1144:42: note: in expansion of macro 'SHOW_TOT'
 1144 |  chunk_appendf(&trash, "long_rq:");      SHOW_TOT(thr, activity[thr].long_rq);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1144:42: note: in expansion of macro 'SHOW_TOT'
 1144 |  chunk_appendf(&trash, "long_rq:");      SHOW_TOT(thr, activity[thr].long_rq);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1145:42: note: in expansion of macro 'SHOW_TOT'
 1145 |  chunk_appendf(&trash, "ctxsw:");        SHOW_TOT(thr, activity[thr].ctxsw);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1145:42: note: in expansion of macro 'SHOW_TOT'
 1145 |  chunk_appendf(&trash, "ctxsw:");        SHOW_TOT(thr, activity[thr].ctxsw);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1146:42: note: in expansion of macro 'SHOW_TOT'
 1146 |  chunk_appendf(&trash, "tasksw:");       SHOW_TOT(thr, activity[thr].tasksw);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1146:42: note: in expansion of macro 'SHOW_TOT'
 1146 |  chunk_appendf(&trash, "tasksw:");       SHOW_TOT(thr, activity[thr].tasksw);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1147:42: note: in expansion of macro 'SHOW_TOT'
 1147 |  chunk_appendf(&trash, "cpust_ms_tot:"); SHOW_TOT(thr, activity[thr].cpust_total / 2);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1147:42: note: in expansion of macro 'SHOW_TOT'
 1147 |  chunk_appendf(&trash, "cpust_ms_tot:"); SHOW_TOT(thr, activity[thr].cpust_total / 2);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1148:42: note: in expansion of macro 'SHOW_TOT'
 1148 |  chunk_appendf(&trash, "cpust_ms_1s:");  SHOW_TOT(thr, read_freq_ctr(&activity[thr].cpust_1s) / 2);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1148:42: note: in expansion of macro 'SHOW_TOT'
 1148 |  chunk_appendf(&trash, "cpust_ms_1s:");  SHOW_TOT(thr, read_freq_ctr(&activity[thr].cpust_1s) / 2);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1149:42: note: in expansion of macro 'SHOW_TOT'
 1149 |  chunk_appendf(&trash, "cpust_ms_15s:"); SHOW_TOT(thr, read_freq_ctr_period(&activity[thr].cpust_15s, 15000) / 2);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1149:42: note: in expansion of macro 'SHOW_TOT'
 1149 |  chunk_appendf(&trash, "cpust_ms_15s:"); SHOW_TOT(thr, read_freq_ctr_period(&activity[thr].cpust_15s, 15000) / 2);
      |                                          ^~~~~~~~
src/cli.c:1116:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1116 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1150:42: note: in expansion of macro 'SHOW_AVG'
 1150 |  chunk_appendf(&trash, "avg_loop_us:");  SHOW_AVG(thr, swrate_avg(activity[thr].avg_loop_us, TIME_STATS_SAMPLES));
      |                                          ^~~~~~~~
src/cli.c:1123:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1123 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1150:42: note: in expansion of macro 'SHOW_AVG'
 1150 |  chunk_appendf(&trash, "avg_loop_us:");  SHOW_AVG(thr, swrate_avg(activity[thr].avg_loop_us, TIME_STATS_SAMPLES));
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1151:42: note: in expansion of macro 'SHOW_TOT'
 1151 |  chunk_appendf(&trash, "accepted:");     SHOW_TOT(thr, activity[thr].accepted);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1151:42: note: in expansion of macro 'SHOW_TOT'
 1151 |  chunk_appendf(&trash, "accepted:");     SHOW_TOT(thr, activity[thr].accepted);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1152:42: note: in expansion of macro 'SHOW_TOT'
 1152 |  chunk_appendf(&trash, "accq_pushed:");  SHOW_TOT(thr, activity[thr].accq_pushed);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1152:42: note: in expansion of macro 'SHOW_TOT'
 1152 |  chunk_appendf(&trash, "accq_pushed:");  SHOW_TOT(thr, activity[thr].accq_pushed);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1153:42: note: in expansion of macro 'SHOW_TOT'
 1153 |  chunk_appendf(&trash, "accq_full:");    SHOW_TOT(thr, activity[thr].accq_full);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1153:42: note: in expansion of macro 'SHOW_TOT'
 1153 |  chunk_appendf(&trash, "accq_full:");    SHOW_TOT(thr, activity[thr].accq_full);
      |                                          ^~~~~~~~
src/cli.c:1098:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1098 |   for (_tot = t = 0; t < _nbt; t++)   \
      |                        ^
src/cli.c:1155:42: note: in expansion of macro 'SHOW_TOT'
 1155 |  chunk_appendf(&trash, "accq_ring:");    SHOW_TOT(thr, (accept_queue_rings[thr].tail - accept_queue_rings[thr].head + ACCEPT_QUEUE_SIZE) % ACCEPT_QUEUE_SIZE);
      |                                          ^~~~~~~~
src/cli.c:1105:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1105 |   for (t = 0; t < _nbt; t++)    \
      |                 ^
src/cli.c:1155:42: note: in expansion of macro 'SHOW_TOT'
 1155 |  chunk_appendf(&trash, "accq_ring:");    SHOW_TOT(thr, (accept_queue_rings[thr].tail - accept_queue_rings[thr].head + ACCEPT_QUEUE_SIZE) % ACCEPT_QUEUE_SIZE);
      |                                          ^~~~~~~~
src/cli.c: In function 'cli_io_handler_show_cli_sock':
src/cli.c:1252:26: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1252 |        for (pos = 0; pos < 8 * sizeof(bind_conf->bind_proc); pos++) {
      |                          ^
src/cli.c: In function 'cli_parse_show_env':
src/cli.c:1283:50: warning: unused parameter 'payload' [-Wunused-parameter]
 1283 | static int cli_parse_show_env(char **args, char *payload, struct appctx *appctx, void *private)
      |                                            ~~~~~~^~~~~~~
src/cli.c:1283:88: warning: unused parameter 'private' [-Wunused-parameter]
 1283 | static int cli_parse_show_env(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_show_fd':
src/cli.c:1317:49: warning: unused parameter 'payload' [-Wunused-parameter]
 1317 | static int cli_parse_show_fd(char **args, char *payload, struct appctx *appctx, void *private)
      |                                           ~~~~~~^~~~~~~
src/cli.c:1317:87: warning: unused parameter 'private' [-Wunused-parameter]
 1317 | static int cli_parse_show_fd(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_set_timeout':
src/cli.c:1332:53: warning: unused parameter 'payload' [-Wunused-parameter]
 1332 | static int cli_parse_set_timeout(char **args, char *payload, struct appctx *appctx, void *private)
      |                                               ~~~~~~^~~~~~~
src/cli.c:1332:91: warning: unused parameter 'private' [-Wunused-parameter]
 1332 | static int cli_parse_set_timeout(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_set_maxconn_global':
src/cli.c:1369:60: warning: unused parameter 'payload' [-Wunused-parameter]
 1369 | static int cli_parse_set_maxconn_global(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                      ~~~~~~^~~~~~~
src/cli.c:1369:98: warning: unused parameter 'private' [-Wunused-parameter]
 1369 | static int cli_parse_set_maxconn_global(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                            ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_set_severity_output':
src/cli.c:1422:61: warning: unused parameter 'payload' [-Wunused-parameter]
 1422 | static int cli_parse_set_severity_output(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                       ~~~~~~^~~~~~~
src/cli.c:1422:99: warning: unused parameter 'private' [-Wunused-parameter]
 1422 | static int cli_parse_set_severity_output(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                             ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_show_lvl':
src/cli.c:1435:38: warning: unused parameter 'args' [-Wunused-parameter]
 1435 | static int cli_parse_show_lvl(char **args, char *payload, struct appctx *appctx, void *private)
      |                               ~~~~~~~^~~~
src/cli.c:1435:50: warning: unused parameter 'payload' [-Wunused-parameter]
 1435 | static int cli_parse_show_lvl(char **args, char *payload, struct appctx *appctx, void *private)
      |                                            ~~~~~~^~~~~~~
src/cli.c:1435:88: warning: unused parameter 'private' [-Wunused-parameter]
 1435 | static int cli_parse_show_lvl(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_set_lvl':
src/cli.c:1454:49: warning: unused parameter 'payload' [-Wunused-parameter]
 1454 | static int cli_parse_set_lvl(char **args, char *payload, struct appctx *appctx, void *private)
      |                                           ~~~~~~^~~~~~~
src/cli.c:1454:87: warning: unused parameter 'private' [-Wunused-parameter]
 1454 | static int cli_parse_set_lvl(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_default':
src/cli.c:1478:30: warning: unused parameter 'args' [-Wunused-parameter]
 1478 | int cli_parse_default(char **args, char *payload, struct appctx *appctx, void *private)
      |                       ~~~~~~~^~~~
src/cli.c:1478:42: warning: unused parameter 'payload' [-Wunused-parameter]
 1478 | int cli_parse_default(char **args, char *payload, struct appctx *appctx, void *private)
      |                                    ~~~~~~^~~~~~~
src/cli.c:1478:66: warning: unused parameter 'appctx' [-Wunused-parameter]
 1478 | int cli_parse_default(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                   ~~~~~~~~~~~~~~~^~~~~~
src/cli.c:1478:80: warning: unused parameter 'private' [-Wunused-parameter]
 1478 | int cli_parse_default(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_set_ratelimit':
src/cli.c:1484:55: warning: unused parameter 'payload' [-Wunused-parameter]
 1484 | static int cli_parse_set_ratelimit(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                 ~~~~~~^~~~~~~
src/cli.c:1484:93: warning: unused parameter 'private' [-Wunused-parameter]
 1484 | static int cli_parse_set_ratelimit(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/cli.c: In function 'bind_parse_expose_fd':
src/cli.c:1544:73: warning: unused parameter 'px' [-Wunused-parameter]
 1544 | static int bind_parse_expose_fd(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                           ~~~~~~~~~~~~~~^~
src/cli.c: In function 'bind_parse_level':
src/cli.c:1562:69: warning: unused parameter 'px' [-Wunused-parameter]
 1562 | static int bind_parse_level(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                       ~~~~~~~~~~~~~~^~
src/cli.c: In function 'bind_parse_severity_output':
src/cli.c:1587:79: warning: unused parameter 'px' [-Wunused-parameter]
 1587 | static int bind_parse_severity_output(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                 ~~~~~~~~~~~~~~^~
src/cli.c: In function '_getsocks':
src/cli.c:1606:29: warning: unused parameter 'args' [-Wunused-parameter]
 1606 | static int _getsocks(char **args, char *payload, struct appctx *appctx, void *private)
      |                      ~~~~~~~^~~~
src/cli.c:1606:41: warning: unused parameter 'payload' [-Wunused-parameter]
 1606 | static int _getsocks(char **args, char *payload, struct appctx *appctx, void *private)
      |                                   ~~~~~~^~~~~~~
src/cli.c:1606:79: warning: unused parameter 'private' [-Wunused-parameter]
 1606 | static int _getsocks(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                         ~~~~~~^~~~~~~
src/cli.c: In function 'cli_parse_simple':
src/cli.c:1867:48: warning: unused parameter 'payload' [-Wunused-parameter]
 1867 | static int cli_parse_simple(char **args, char *payload, struct appctx *appctx, void *private)
      |                                          ~~~~~~^~~~~~~
src/cli.c:1867:86: warning: unused parameter 'private' [-Wunused-parameter]
 1867 | static int cli_parse_simple(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/cli.c: In function 'pcli_wait_for_request':
src/cli.c:2203:70: warning: unused parameter 'an_bit' [-Wunused-parameter]
 2203 | int pcli_wait_for_request(struct stream *s, struct channel *req, int an_bit)
      |                                                                  ~~~~^~~~~~
src/cli.c: In function 'pcli_wait_for_response':
src/cli.c:2298:71: warning: unused parameter 'an_bit' [-Wunused-parameter]
 2298 | int pcli_wait_for_response(struct stream *s, struct channel *rep, int an_bit)
      |                                                                   ~~~~^~~~~~
src/cli.c: At top level:
src/cli.c:2778:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2778 |  { { "help", NULL }, NULL, cli_parse_simple, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/cli.c:2779:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2779 |  { { "prompt", NULL }, NULL, cli_parse_simple, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/cli.c:2780:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2780 |  { { "quit", NULL }, NULL, cli_parse_simple, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/cli.c:2781:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2781 |  { { "set", "maxconn", "global",  NULL }, "set maxconn global : change the per-process maxconn setting", cli_parse_set_maxconn_global, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/cli.c:2782:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2782 |  { { "set", "rate-limit", NULL }, "set rate-limit : change a rate limiting value", cli_parse_set_ratelimit, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/cli.c:2783:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2783 |  { { "set", "severity-output",  NULL }, "set severity-output [none|number|string] : set presence of severity level in feedback information", cli_parse_set_severity_output, NULL, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/cli.c:2784:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2784 |  { { "set", "timeout",  NULL }, "set timeout    : change a timeout setting", cli_parse_set_timeout, NULL, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/cli.c:2785:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2785 |  { { "show", "env",  NULL }, "show env [var] : dump environment variables known to the process", cli_parse_show_env, cli_io_handler_show_env, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/cli.c:2788:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2788 |  { { "show", "fd", NULL }, "show fd [num] : dump list of file descriptors in use", cli_parse_show_fd, cli_io_handler_show_fd, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/cli.c:2789:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 2789 |  { { "show", "activity", NULL }, "show activity : show per-thread activity stats (for support/developers)", cli_parse_default, cli_io_handler_show_activity, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/cli.c:2792:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 2792 |  { { "_getsocks", NULL }, NULL,  _getsocks, NULL },
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/cli.c:2793:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 2793 |  {{},}
      |  ^
In file included from src/cli.c:44:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/cli.c:29:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/cli.c:2796:1: note: in expansion of macro 'INITCALL1'
 2796 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/cli.c:2803:1: note: in expansion of macro 'INITCALL1'
 2803 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct bind_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/cli.c:2812:1: note: in expansion of macro 'INITCALL1'
 2812 | INITCALL1(STG_REGISTER, bind_register_keywords, &bind_kws);
      | ^~~~~~~~~
src/cli.c: In function 'cli_io_handler_show_cli_sock':
src/cli.c:1195:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1195 |    appctx->st2 = STAT_ST_LIST;
      |    ~~~~~~~~~~~~^~~~~~~~~~~~~~
src/cli.c:1197:3: note: here
 1197 |   case STAT_ST_LIST:
      |   ^~~~
src/cli.c:1198:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1198 |    if (global.stats_fe) {
      |       ^
src/cli.c:1272:3: note: here
 1272 |   default:
      |   ^~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/backend.o
In file included from include/common/buffer.h:30,
                 from src/backend.c:22:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/backend.c:22:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/backend.c:22:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from src/backend.c:27:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/backend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/backend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/backend.c:33:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/backend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/backend.c:33:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/backend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/backend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/backend.c:38:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/backend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/backend.c:38:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/backend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/backend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/backend.c:22:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/backend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/backend.c:38:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/backend.c:38:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/backend.c:51:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from src/backend.c:56:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/backend.c:59:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/backend.c: In function 'get_server_sh':
src/backend.c:180:28: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  180 |  while ((l + sizeof (int)) <= len) {
      |                            ^~
src/backend.c: In function 'get_server_ph_post':
src/backend.c:340:11: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
  340 |   if (len > b_wrap(&req->buf) - p)
      |           ^
src/backend.c: In function 'assign_server_and_queue':
src/backend.c:1031:35: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1031 |       (srv->nbpend || srv->served >= srv_dynamic_maxconn(srv))) {
      |                                   ^~
src/backend.c: In function 'connect_server':
src/backend.c:1355:11: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1355 |     if (i == tid)
      |           ^~
src/backend.c:1664:23: warning: operand of ?: changes signedness from 'int' to 'size_t' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
 1664 |     rewind = s->txn ? http_hdr_rewind(&s->txn->req) : co_data(&s->req);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/backend.c: In function 'smp_fetch_nbsrv':
src/backend.c:2098:73: warning: unused parameter 'kw' [-Wunused-parameter]
 2098 | smp_fetch_nbsrv(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                             ~~~~~~~~~~~~^~
src/backend.c:2098:83: warning: unused parameter 'private' [-Wunused-parameter]
 2098 | smp_fetch_nbsrv(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_srv_is_up':
src/backend.c:2117:77: warning: unused parameter 'kw' [-Wunused-parameter]
 2117 | smp_fetch_srv_is_up(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/backend.c:2117:87: warning: unused parameter 'private' [-Wunused-parameter]
 2117 | smp_fetch_srv_is_up(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_connslots':
src/backend.c:2136:77: warning: unused parameter 'kw' [-Wunused-parameter]
 2136 | smp_fetch_connslots(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/backend.c:2136:87: warning: unused parameter 'private' [-Wunused-parameter]
 2136 | smp_fetch_connslots(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_be_id':
src/backend.c:2163:35: warning: unused parameter 'args' [-Wunused-parameter]
 2163 | smp_fetch_be_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                 ~~~~~~~~~~~~~~~~~~^~~~
src/backend.c:2163:73: warning: unused parameter 'kw' [-Wunused-parameter]
 2163 | smp_fetch_be_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                             ~~~~~~~~~~~~^~
src/backend.c:2163:83: warning: unused parameter 'private' [-Wunused-parameter]
 2163 | smp_fetch_be_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_be_name':
src/backend.c:2176:37: warning: unused parameter 'args' [-Wunused-parameter]
 2176 | smp_fetch_be_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                   ~~~~~~~~~~~~~~~~~~^~~~
src/backend.c:2176:75: warning: unused parameter 'kw' [-Wunused-parameter]
 2176 | smp_fetch_be_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                               ~~~~~~~~~~~~^~
src/backend.c:2176:85: warning: unused parameter 'private' [-Wunused-parameter]
 2176 | smp_fetch_be_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_srv_id':
src/backend.c:2194:36: warning: unused parameter 'args' [-Wunused-parameter]
 2194 | smp_fetch_srv_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                  ~~~~~~~~~~~~~~~~~~^~~~
src/backend.c:2194:74: warning: unused parameter 'kw' [-Wunused-parameter]
 2194 | smp_fetch_srv_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                              ~~~~~~~~~~~~^~
src/backend.c:2194:84: warning: unused parameter 'private' [-Wunused-parameter]
 2194 | smp_fetch_srv_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                              ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_be_sess_rate':
src/backend.c:2213:80: warning: unused parameter 'kw' [-Wunused-parameter]
 2213 | smp_fetch_be_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                    ~~~~~~~~~~~~^~
src/backend.c:2213:90: warning: unused parameter 'private' [-Wunused-parameter]
 2213 | smp_fetch_be_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_be_conn':
src/backend.c:2226:75: warning: unused parameter 'kw' [-Wunused-parameter]
 2226 | smp_fetch_be_conn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                               ~~~~~~~~~~~~^~
src/backend.c:2226:85: warning: unused parameter 'private' [-Wunused-parameter]
 2226 | smp_fetch_be_conn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_be_conn_free':
src/backend.c:2267:15: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 2267 |   if (maxconn > iterator->cur_sess)
      |               ^
src/backend.c:2240:80: warning: unused parameter 'kw' [-Wunused-parameter]
 2240 | smp_fetch_be_conn_free(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                    ~~~~~~~~~~~~^~
src/backend.c:2240:90: warning: unused parameter 'private' [-Wunused-parameter]
 2240 | smp_fetch_be_conn_free(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_queue_size':
src/backend.c:2279:78: warning: unused parameter 'kw' [-Wunused-parameter]
 2279 | smp_fetch_queue_size(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/backend.c:2279:88: warning: unused parameter 'private' [-Wunused-parameter]
 2279 | smp_fetch_queue_size(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_avg_queue_size':
src/backend.c:2296:82: warning: unused parameter 'kw' [-Wunused-parameter]
 2296 | smp_fetch_avg_queue_size(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/backend.c:2296:92: warning: unused parameter 'private' [-Wunused-parameter]
 2296 | smp_fetch_avg_queue_size(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_srv_conn':
src/backend.c:2320:76: warning: unused parameter 'kw' [-Wunused-parameter]
 2320 | smp_fetch_srv_conn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                ~~~~~~~~~~~~^~
src/backend.c:2320:86: warning: unused parameter 'private' [-Wunused-parameter]
 2320 | smp_fetch_srv_conn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_srv_conn_free':
src/backend.c:2347:14: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 2347 |  if (maxconn > args->data.srv->cur_sess)
      |              ^
src/backend.c:2333:81: warning: unused parameter 'kw' [-Wunused-parameter]
 2333 | smp_fetch_srv_conn_free(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                     ~~~~~~~~~~~~^~
src/backend.c:2333:91: warning: unused parameter 'private' [-Wunused-parameter]
 2333 | smp_fetch_srv_conn_free(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_srv_queue':
src/backend.c:2360:77: warning: unused parameter 'kw' [-Wunused-parameter]
 2360 | smp_fetch_srv_queue(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/backend.c:2360:87: warning: unused parameter 'private' [-Wunused-parameter]
 2360 | smp_fetch_srv_queue(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/backend.c: In function 'smp_fetch_srv_sess_rate':
src/backend.c:2373:81: warning: unused parameter 'kw' [-Wunused-parameter]
 2373 | smp_fetch_srv_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                     ~~~~~~~~~~~~^~
src/backend.c:2373:91: warning: unused parameter 'private' [-Wunused-parameter]
 2373 | smp_fetch_srv_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/backend.c: In function 'sample_conv_nbsrv':
src/backend.c:2381:48: warning: unused parameter 'args' [-Wunused-parameter]
 2381 | static int sample_conv_nbsrv(const struct arg *args, struct sample *smp, void *private)
      |                              ~~~~~~~~~~~~~~~~~~^~~~
src/backend.c:2381:80: warning: unused parameter 'private' [-Wunused-parameter]
 2381 | static int sample_conv_nbsrv(const struct arg *args, struct sample *smp, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/backend.c: At top level:
src/backend.c:2404:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2404 |  { "avg_queue",     smp_fetch_avg_queue_size, ARG1(1,BE),  NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2405:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2405 |  { "be_conn",       smp_fetch_be_conn,        ARG1(1,BE),  NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2406:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2406 |  { "be_conn_free",  smp_fetch_be_conn_free,   ARG1(1,BE),  NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2407:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2407 |  { "be_id",         smp_fetch_be_id,          0,           NULL, SMP_T_SINT, SMP_USE_BKEND, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2408:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2408 |  { "be_name",       smp_fetch_be_name,        0,           NULL, SMP_T_STR,  SMP_USE_BKEND, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2409:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2409 |  { "be_sess_rate",  smp_fetch_be_sess_rate,   ARG1(1,BE),  NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2410:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2410 |  { "connslots",     smp_fetch_connslots,      ARG1(1,BE),  NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2411:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2411 |  { "nbsrv",         smp_fetch_nbsrv,          ARG1(1,BE),  NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2412:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2412 |  { "queue",         smp_fetch_queue_size,     ARG1(1,BE),  NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2413:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2413 |  { "srv_conn",      smp_fetch_srv_conn,       ARG1(1,SRV), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2414:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2414 |  { "srv_conn_free", smp_fetch_srv_conn_free,  ARG1(1,SRV), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2415:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2415 |  { "srv_id",        smp_fetch_srv_id,         0,           NULL, SMP_T_SINT, SMP_USE_SERVR, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2416:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2416 |  { "srv_is_up",     smp_fetch_srv_is_up,      ARG1(1,SRV), NULL, SMP_T_BOOL, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2417:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2417 |  { "srv_queue",     smp_fetch_srv_queue,      ARG1(1,SRV), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/backend.c:2418:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2418 |  { "srv_sess_rate", smp_fetch_srv_sess_rate,  ARG1(1,SRV), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/backend.c:22:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/backend.c:2422:1: note: in expansion of macro 'INITCALL1'
 2422 | INITCALL1(STG_REGISTER, sample_register_fetches, &smp_kws);
      | ^~~~~~~~~
src/backend.c:2426:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 2426 |  { "nbsrv", sample_conv_nbsrv, 0, NULL, SMP_T_STR, SMP_T_SINT },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/backend.c:33:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/backend.c:22:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_conv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/backend.c:2430:1: note: in expansion of macro 'INITCALL1'
 2430 | INITCALL1(STG_REGISTER, sample_register_convs, &sample_conv_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct acl_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/backend.c:2439:1: note: in expansion of macro 'INITCALL1'
 2439 | INITCALL1(STG_REGISTER, acl_register_keywords, &acl_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/cfgparse-global.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/cfgparse-global.c:14:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/cfgparse-global.c: In function 'cfg_parse_global':
src/cfgparse-global.c:526:42: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  526 |   if (global.nbproc < 1 || global.nbproc > MAX_PROCS) {
      |                                          ^
src/cfgparse-global.c:1048:22: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1048 |    for (i = n = 0; i < MAX_PROCS; i++) {
      |                      ^
src/cfgparse-global.c:1067:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1067 |     for (i = n = 0; i < MAX_PROCS; i++) {
      |                       ^
src/cfgparse-global.c:1082:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1082 |     for (j = n = 0; j < MAX_THREADS; j++) {
      |                       ^
src/cfgparse-global.c:1156:32: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1156 |     if (!delim || delim - *env >= trash.size) {
      |                                ^~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/http_act.o
In file included from src/http_act.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from src/http_act.c:23:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/http_act.c:26:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/http_act.c:26:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/http_act.c:26:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_act.c:30:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_act.c:30:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from include/types/http_htx.h:26,
                 from include/proto/http_htx.h:29,
                 from src/http_act.c:35:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/http_act.c:30:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_act.c:30:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_act.c:30:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_act.c:30:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_act.c:26:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_act.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_act.c:30:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/http_act.c:36:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/proto_http.h:29,
                 from src/http_act.c:37:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/http_act.c:37:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/http_act.c:38:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/http_act.c:38:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/http_act.c: In function 'http_action_set_req_line':
src/http_act.c:49:65: warning: unused parameter 'sess' [-Wunused-parameter]
   49 |                                                 struct session *sess, struct stream *s, int flags)
      |                                                 ~~~~~~~~~~~~~~~~^~~~
src/http_act.c:49:93: warning: unused parameter 'flags' [-Wunused-parameter]
   49 |                                                 struct session *sess, struct stream *s, int flags)
      |                                                                                         ~~~~^~~~~
src/http_act.c: In function 'http_action_replace_uri':
src/http_act.c:142:64: warning: unused parameter 'sess' [-Wunused-parameter]
  142 |                                                struct session *sess, struct stream *s, int flags)
      |                                                ~~~~~~~~~~~~~~~~^~~~
src/http_act.c:142:92: warning: unused parameter 'flags' [-Wunused-parameter]
  142 |                                                struct session *sess, struct stream *s, int flags)
      |                                                                                        ~~~~^~~~~
src/http_act.c: In function 'action_http_set_status':
src/http_act.c:228:84: warning: unused parameter 'px' [-Wunused-parameter]
  228 | static enum act_return action_http_set_status(struct act_rule *rule, struct proxy *px,
      |                                                                      ~~~~~~~~~~~~~~^~
src/http_act.c:229:63: warning: unused parameter 'sess' [-Wunused-parameter]
  229 |                                               struct session *sess, struct stream *s, int flags)
      |                                               ~~~~~~~~~~~~~~~~^~~~
src/http_act.c:229:91: warning: unused parameter 'flags' [-Wunused-parameter]
  229 |                                               struct session *sess, struct stream *s, int flags)
      |                                                                                       ~~~~^~~~~
src/http_act.c: In function 'parse_http_set_status':
src/http_act.c:240:97: warning: unused parameter 'px' [-Wunused-parameter]
  240 | static enum act_parse_ret parse_http_set_status(const char **args, int *orig_arg, struct proxy *px,
      |                                                                                   ~~~~~~~~~~~~~~^~
src/http_act.c: In function 'http_action_reject':
src/http_act.c:282:60: warning: unused parameter 'rule' [-Wunused-parameter]
  282 | static enum act_return http_action_reject(struct act_rule *rule, struct proxy *px,
      |                                           ~~~~~~~~~~~~~~~~~^~~~
src/http_act.c:282:80: warning: unused parameter 'px' [-Wunused-parameter]
  282 | static enum act_return http_action_reject(struct act_rule *rule, struct proxy *px,
      |                                                                  ~~~~~~~~~~~~~~^~
src/http_act.c:283:87: warning: unused parameter 'flags' [-Wunused-parameter]
  283 |                                           struct session *sess, struct stream *s, int flags)
      |                                                                                   ~~~~^~~~~
src/http_act.c: In function 'parse_http_action_reject':
src/http_act.c:308:65: warning: unused parameter 'args' [-Wunused-parameter]
  308 | static enum act_parse_ret parse_http_action_reject(const char **args, int *orig_arg, struct proxy *px,
      |                                                    ~~~~~~~~~~~~~^~~~
src/http_act.c:308:76: warning: unused parameter 'orig_arg' [-Wunused-parameter]
  308 | static enum act_parse_ret parse_http_action_reject(const char **args, int *orig_arg, struct proxy *px,
      |                                                                       ~~~~~^~~~~~~~
src/http_act.c:308:100: warning: unused parameter 'px' [-Wunused-parameter]
  308 | static enum act_parse_ret parse_http_action_reject(const char **args, int *orig_arg, struct proxy *px,
      |                                                                                      ~~~~~~~~~~~~~~^~
src/http_act.c:309:82: warning: unused parameter 'err' [-Wunused-parameter]
  309 |                                                    struct act_rule *rule, char **err)
      |                                                                           ~~~~~~~^~~
src/http_act.c: In function 'http_req_disable_l7_retry':
src/http_act.c:322:67: warning: unused parameter 'rule' [-Wunused-parameter]
  322 | static enum act_return http_req_disable_l7_retry(struct act_rule *rule, struct proxy *px,
      |                                                  ~~~~~~~~~~~~~~~~~^~~~
src/http_act.c:322:87: warning: unused parameter 'px' [-Wunused-parameter]
  322 | static enum act_return http_req_disable_l7_retry(struct act_rule *rule, struct proxy *px,
      |                                                                         ~~~~~~~~~~~~~~^~
src/http_act.c:323:59: warning: unused parameter 'sess' [-Wunused-parameter]
  323 |                                           struct session *sess, struct stream *s, int flags)
      |                                           ~~~~~~~~~~~~~~~~^~~~
src/http_act.c:323:87: warning: unused parameter 'flags' [-Wunused-parameter]
  323 |                                           struct session *sess, struct stream *s, int flags)
      |                                                                                   ~~~~^~~~~
src/http_act.c: In function 'parse_http_req_disable_l7_retry':
src/http_act.c:339:72: warning: unused parameter 'args' [-Wunused-parameter]
  339 | static enum act_parse_ret parse_http_req_disable_l7_retry(const char **args,
      |                                                           ~~~~~~~~~~~~~^~~~
src/http_act.c:340:15: warning: unused parameter 'orig_args' [-Wunused-parameter]
  340 |          int *orig_args, struct proxy *px,
      |          ~~~~~^~~~~~~~~
src/http_act.c:340:40: warning: unused parameter 'px' [-Wunused-parameter]
  340 |          int *orig_args, struct proxy *px,
      |                          ~~~~~~~~~~~~~~^~
src/http_act.c:341:40: warning: unused parameter 'err' [-Wunused-parameter]
  341 |          struct act_rule *rule, char **err)
      |                                 ~~~~~~~^~~
src/http_act.c: In function 'http_action_req_capture':
src/http_act.c:353:85: warning: unused parameter 'px' [-Wunused-parameter]
  353 | static enum act_return http_action_req_capture(struct act_rule *rule, struct proxy *px,
      |                                                                       ~~~~~~~~~~~~~~^~
src/http_act.c:354:92: warning: unused parameter 'flags' [-Wunused-parameter]
  354 |                                                struct session *sess, struct stream *s, int flags)
      |                                                                                        ~~~~^~~~~
src/http_act.c: In function 'http_action_req_capture_by_id':
src/http_act.c:385:91: warning: unused parameter 'px' [-Wunused-parameter]
  385 | static enum act_return http_action_req_capture_by_id(struct act_rule *rule, struct proxy *px,
      |                                                                             ~~~~~~~~~~~~~~^~
src/http_act.c:386:98: warning: unused parameter 'flags' [-Wunused-parameter]
  386 |                                                      struct session *sess, struct stream *s, int flags)
      |                                                                                              ~~~~^~~~~
src/http_act.c: In function 'http_action_res_capture_by_id':
src/http_act.c:570:91: warning: unused parameter 'px' [-Wunused-parameter]
  570 | static enum act_return http_action_res_capture_by_id(struct act_rule *rule, struct proxy *px,
      |                                                                             ~~~~~~~~~~~~~~^~
src/http_act.c:571:98: warning: unused parameter 'flags' [-Wunused-parameter]
  571 |                                                      struct session *sess, struct stream *s, int flags)
      |                                                                                              ~~~~^~~~~
src/http_act.c: At top level:
src/http_act.c:707:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  707 |   { "capture",    parse_http_req_capture },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:708:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  708 |   { "reject",     parse_http_action_reject },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:709:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  709 |   { "disable-l7-retry", parse_http_req_disable_l7_retry },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:710:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  710 |   { "replace-path", parse_replace_uri },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:711:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  711 |   { "replace-uri", parse_replace_uri },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:712:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  712 |   { "set-method", parse_set_req_line },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:713:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  713 |   { "set-path",   parse_set_req_line },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:714:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  714 |   { "set-query",  parse_set_req_line },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:715:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  715 |   { "set-uri",    parse_set_req_line },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:716:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  716 |   { NULL, NULL }
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/http_act.c:19:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/http_act.c:720:1: note: in expansion of macro 'INITCALL1'
  720 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_actions);
      | ^~~~~~~~~
src/http_act.c:724:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  724 |   { "capture",    parse_http_res_capture },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:725:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  725 |   { "set-status", parse_http_set_status },
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/http_act.c:726:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  726 |   { NULL, NULL }
      |   ^
In file included from include/proto/http_rules.h:27,
                 from src/http_act.c:34:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/http_act.c:19:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/http_act.c:730:1: note: in expansion of macro 'INITCALL1'
  730 | INITCALL1(STG_REGISTER, http_res_keywords_register, &http_res_actions);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/filters.o
In file included from include/common/buffer.h:30,
                 from src/filters.c:13:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/filters.c:13:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/filters.c:13:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/filters.c:13:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/filters.c:15:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/filters.c:19:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/filters.h:30,
                 from src/filters.c:29:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/filters.c:32:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/filters.c:34:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/filters.c:34:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/filters.c:13:
src/filters.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/filters.c:37:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   37 | DECLARE_STATIC_POOL(pool_head_filter, "filter", sizeof(struct filter));
      | ^~~~~~~~~~~~~~~~~~~
src/filters.c: In function 'parse_filter':
src/filters.c:177:31: warning: unused parameter 'section_type' [-Wunused-parameter]
  177 | parse_filter(char **args, int section_type, struct proxy *curpx,
      |                           ~~~~^~~~~~~~~~~~
src/filters.c: In function 'flt_end_analyze':
src/filters.c:973:69: warning: unused parameter 'an_bit' [-Wunused-parameter]
  973 | flt_end_analyze(struct stream *s, struct channel *chn, unsigned int an_bit)
      |                                                        ~~~~~~~~~~~~~^~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/filters.c:13:
src/filters.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/filters.c:1275:1: note: in expansion of macro 'INITCALL1'
 1275 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:318:2: note: in expansion of macro 'INITCALL1'
  318 |  INITCALL1(STG_REGISTER, hap_register_post_check, (fct))
      |  ^~~~~~~~~
src/filters.c:1277:1: note: in expansion of macro 'REGISTER_POST_CHECK'
 1277 | REGISTER_POST_CHECK(flt_init_all);
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:330:2: note: in expansion of macro 'INITCALL1'
  330 |  INITCALL1(STG_REGISTER, hap_register_per_thread_init, (fct))
      |  ^~~~~~~~~
src/filters.c:1278:1: note: in expansion of macro 'REGISTER_PER_THREAD_INIT'
 1278 | REGISTER_PER_THREAD_INIT(flt_init_all_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(void (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:334:2: note: in expansion of macro 'INITCALL1'
  334 |  INITCALL1(STG_REGISTER, hap_register_per_thread_deinit, (fct))
      |  ^~~~~~~~~
src/filters.c:1279:1: note: in expansion of macro 'REGISTER_PER_THREAD_DEINIT'
 1279 | REGISTER_PER_THREAD_DEINIT(flt_deinit_all_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/tcp_rules.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/tcp_rules.c:12:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from src/tcp_rules.c:29:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/tcp_rules.c:29:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/tcp_rules.c:30:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/tcp_rules.c:30:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/tcp_rules.c: In function 'tcp_parse_response_rule':
src/tcp_rules.c:585:62: warning: unused parameter 'section_type' [-Wunused-parameter]
  585 | static int tcp_parse_response_rule(char **args, int arg, int section_type,
      |                                                          ~~~~^~~~~~~~~~~~
src/tcp_rules.c:588:49: warning: unused parameter 'where' [-Wunused-parameter]
  588 |                                    unsigned int where,
      |                                    ~~~~~~~~~~~~~^~~~~
src/tcp_rules.c: In function 'tcp_parse_request_rule':
src/tcp_rules.c:648:61: warning: unused parameter 'section_type' [-Wunused-parameter]
  648 | static int tcp_parse_request_rule(char **args, int arg, int section_type,
      |                                                         ~~~~^~~~~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/tcp_rules.c:12:
src/tcp_rules.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/tcp_rules.c:1222:1: note: in expansion of macro 'INITCALL1'
 1222 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/sample.o
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/sample.c:19:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/sample.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/sample.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/sample.c:19:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/sample.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/sample.c:19:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/sample.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/sample.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/sample.c:31:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/sample.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/sample.c:31:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/sample.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/sample.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/sample.c:19:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/sample.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/sample.c:31:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/sample.c:33:
include/proto/protocol_buffers.h: In function 'protobuf_skip_varint':
include/proto/protocol_buffers.h:211:63: warning: unused parameter 'vlen' [-Wunused-parameter]
  211 | protobuf_skip_varint(unsigned char **pos, size_t *len, size_t vlen)
      |                                                        ~~~~~~~^~~~
include/proto/protocol_buffers.h: In function 'protobuf_smp_store_varint':
include/proto/protocol_buffers.h:280:70: warning: unused parameter 'vlen' [-Wunused-parameter]
  280 |                               unsigned char *pos, size_t len, size_t vlen)
      |                                                               ~~~~~~~^~~~
include/proto/protocol_buffers.h: In function 'protobuf_skip_64bit':
include/proto/protocol_buffers.h:334:66: warning: unused parameter 'vlen' [-Wunused-parameter]
  334 | int protobuf_skip_64bit(unsigned char **pos, size_t *len, size_t vlen)
      |                                                           ~~~~~~~^~~~
include/proto/protocol_buffers.h: In function 'protobuf_smp_store_64bit':
include/proto/protocol_buffers.h:352:69: warning: unused parameter 'vlen' [-Wunused-parameter]
  352 |                              unsigned char *pos, size_t len, size_t vlen)
      |                                                              ~~~~~~~^~~~
include/proto/protocol_buffers.h: In function 'protobuf_skip_32bit':
include/proto/protocol_buffers.h:425:66: warning: unused parameter 'vlen' [-Wunused-parameter]
  425 | int protobuf_skip_32bit(unsigned char **pos, size_t *len, size_t vlen)
      |                                                           ~~~~~~~^~~~
include/proto/protocol_buffers.h: In function 'protobuf_smp_store_32bit':
include/proto/protocol_buffers.h:443:69: warning: unused parameter 'vlen' [-Wunused-parameter]
  443 |                              unsigned char *pos, size_t len, size_t vlen)
      |                                                              ~~~~~~~^~~~
include/proto/protocol_buffers.h: In function 'protobuf_field_lookup':
include/proto/protocol_buffers.h:504:15: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  504 |  while (field < fid_sz) {
      |               ^
include/proto/protocol_buffers.h:553:22: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  553 |   if (found && field == fid_sz - 1)
      |                      ^~
src/sample.c: In function 'c_bin2str':
src/sample.c:617:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  617 |  for (i = 0; i < smp->data.u.str.data; i++) {
      |                ^
src/sample.c: In function 'c_none':
src/sample.c:702:27: warning: unused parameter 'smp' [-Wunused-parameter]
  702 | int c_none(struct sample *smp)
      |            ~~~~~~~~~~~~~~~^~~
src/sample.c: In function 'sample_conv_base642bin':
src/sample.c:1479:53: warning: unused parameter 'arg_p' [-Wunused-parameter]
 1479 | static int sample_conv_base642bin(const struct arg *arg_p, struct sample *smp, void *private)
      |                                   ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:1479:86: warning: unused parameter 'private' [-Wunused-parameter]
 1479 | static int sample_conv_base642bin(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_bin2base64':
src/sample.c:1497:53: warning: unused parameter 'arg_p' [-Wunused-parameter]
 1497 | static int sample_conv_bin2base64(const struct arg *arg_p, struct sample *smp, void *private)
      |                                   ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:1497:86: warning: unused parameter 'private' [-Wunused-parameter]
 1497 | static int sample_conv_bin2base64(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_sha1':
src/sample.c:1515:47: warning: unused parameter 'arg_p' [-Wunused-parameter]
 1515 | static int sample_conv_sha1(const struct arg *arg_p, struct sample *smp, void *private)
      |                             ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:1515:80: warning: unused parameter 'private' [-Wunused-parameter]
 1515 | static int sample_conv_sha1(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_bin2hex':
src/sample.c:1540:13: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1540 |  while (ptr < smp->data.u.str.data && trash->data <= trash->size - 2) {
      |             ^
src/sample.c:1533:50: warning: unused parameter 'arg_p' [-Wunused-parameter]
 1533 | static int sample_conv_bin2hex(const struct arg *arg_p, struct sample *smp, void *private)
      |                                ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:1533:83: warning: unused parameter 'private' [-Wunused-parameter]
 1533 | static int sample_conv_bin2hex(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_hex2int':
src/sample.c:1556:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1556 |  for (i = 0; i < smp->data.u.str.data; i++) {
      |                ^
src/sample.c:1551:50: warning: unused parameter 'arg_p' [-Wunused-parameter]
 1551 | static int sample_conv_hex2int(const struct arg *arg_p, struct sample *smp, void *private)
      |                                ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:1551:83: warning: unused parameter 'private' [-Wunused-parameter]
 1551 | static int sample_conv_hex2int(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_djb2':
src/sample.c:1569:80: warning: unused parameter 'private' [-Wunused-parameter]
 1569 | static int sample_conv_djb2(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_length':
src/sample.c:1579:49: warning: unused parameter 'arg_p' [-Wunused-parameter]
 1579 | static int sample_conv_length(const struct arg *arg_p, struct sample *smp, void *private)
      |                               ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:1579:82: warning: unused parameter 'private' [-Wunused-parameter]
 1579 | static int sample_conv_length(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_str2lower':
src/sample.c:1595:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1595 |  for (i = 0; i < smp->data.u.str.data; i++) {
      |                ^
src/sample.c:1588:52: warning: unused parameter 'arg_p' [-Wunused-parameter]
 1588 | static int sample_conv_str2lower(const struct arg *arg_p, struct sample *smp, void *private)
      |                                  ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:1588:85: warning: unused parameter 'private' [-Wunused-parameter]
 1588 | static int sample_conv_str2lower(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_str2upper':
src/sample.c:1609:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1609 |  for (i = 0; i < smp->data.u.str.data; i++) {
      |                ^
src/sample.c:1602:52: warning: unused parameter 'arg_p' [-Wunused-parameter]
 1602 | static int sample_conv_str2upper(const struct arg *arg_p, struct sample *smp, void *private)
      |                                  ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:1602:85: warning: unused parameter 'private' [-Wunused-parameter]
 1602 | static int sample_conv_str2upper(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_ipmask':
src/sample.c:1617:81: warning: unused parameter 'private' [-Wunused-parameter]
 1617 | static int sample_conv_ipmask(const struct arg *args, struct sample *smp, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_ltime':
src/sample.c:1645:80: warning: unused parameter 'private' [-Wunused-parameter]
 1645 | static int sample_conv_ltime(const struct arg *args, struct sample *smp, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_sdbm':
src/sample.c:1668:80: warning: unused parameter 'private' [-Wunused-parameter]
 1668 | static int sample_conv_sdbm(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_utime':
src/sample.c:1682:80: warning: unused parameter 'private' [-Wunused-parameter]
 1682 | static int sample_conv_utime(const struct arg *args, struct sample *smp, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_wt6':
src/sample.c:1705:79: warning: unused parameter 'private' [-Wunused-parameter]
 1705 | static int sample_conv_wt6(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                         ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_xxh32':
src/sample.c:1718:81: warning: unused parameter 'private' [-Wunused-parameter]
 1718 | static int sample_conv_xxh32(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_xxh64':
src/sample.c:1738:81: warning: unused parameter 'private' [-Wunused-parameter]
 1738 | static int sample_conv_xxh64(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_crc32':
src/sample.c:1753:81: warning: unused parameter 'private' [-Wunused-parameter]
 1753 | static int sample_conv_crc32(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_crc32c':
src/sample.c:1764:82: warning: unused parameter 'private' [-Wunused-parameter]
 1764 | static int sample_conv_crc32c(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_json_check':
src/sample.c:1791:72: warning: unused parameter 'conv' [-Wunused-parameter]
 1791 | static int sample_conv_json_check(struct arg *arg, struct sample_conv *conv,
      |                                                    ~~~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:1792:47: warning: unused parameter 'file' [-Wunused-parameter]
 1792 |                                   const char *file, int line, char **err)
      |                                   ~~~~~~~~~~~~^~~~
src/sample.c:1792:57: warning: unused parameter 'line' [-Wunused-parameter]
 1792 |                                   const char *file, int line, char **err)
      |                                                     ~~~~^~~~
src/sample.c: In function 'sample_conv_json':
src/sample.c:1845:80: warning: unused parameter 'private' [-Wunused-parameter]
 1845 | static int sample_conv_json(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_bytes':
src/sample.c:1962:81: warning: unused parameter 'private' [-Wunused-parameter]
 1962 | static int sample_conv_bytes(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_field_check':
src/sample.c:1980:74: warning: unused parameter 'conv' [-Wunused-parameter]
 1980 | static int sample_conv_field_check(struct arg *args, struct sample_conv *conv,
      |                                                      ~~~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:1981:47: warning: unused parameter 'file' [-Wunused-parameter]
 1981 |                                   const char *file, int line, char **err)
      |                                   ~~~~~~~~~~~~^~~~
src/sample.c:1981:57: warning: unused parameter 'line' [-Wunused-parameter]
 1981 |                                   const char *file, int line, char **err)
      |                                                     ~~~~^~~~
src/sample.c: In function 'sample_conv_field':
src/sample.c:2033:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'const unsigned int'} [-Wsign-compare]
 2033 |    for (i = 0 ; i < arg_p[1].data.str.data; i++) {
      |                   ^
src/sample.c:2052:37: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2052 |   while (end - smp->data.u.str.area < smp->data.u.str.data) {
      |                                     ^
src/sample.c:2053:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'const unsigned int'} [-Wsign-compare]
 2053 |    for (i = 0 ; i < arg_p[1].data.str.data; i++) {
      |                   ^
src/sample.c:2019:81: warning: unused parameter 'private' [-Wunused-parameter]
 2019 | static int sample_conv_field(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_word':
src/sample.c:2113:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'const unsigned int'} [-Wsign-compare]
 2113 |    for (i = 0 ; i < arg_p[1].data.str.data; i++) {
      |                   ^
src/sample.c:2141:37: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2141 |   while (end - smp->data.u.str.area < smp->data.u.str.data) {
      |                                     ^
src/sample.c:2143:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'const unsigned int'} [-Wsign-compare]
 2143 |    for (i = 0 ; i < arg_p[1].data.str.data; i++) {
      |                   ^
src/sample.c:2097:80: warning: unused parameter 'private' [-Wunused-parameter]
 2097 | static int sample_conv_word(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                          ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_regsub_check':
src/sample.c:2193:75: warning: unused parameter 'conv' [-Wunused-parameter]
 2193 | static int sample_conv_regsub_check(struct arg *args, struct sample_conv *conv,
      |                                                       ~~~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2194:49: warning: unused parameter 'file' [-Wunused-parameter]
 2194 |                                     const char *file, int line, char **err)
      |                                     ~~~~~~~~~~~~^~~~
src/sample.c:2194:59: warning: unused parameter 'line' [-Wunused-parameter]
 2194 |                                     const char *file, int line, char **err)
      |                                                       ~~~~^~~~
src/sample.c: In function 'sample_conv_regsub':
src/sample.c:2271:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'const unsigned int'} [-Wsign-compare]
 2271 |    if (max > arg_p[1].data.str.data)
      |            ^
src/sample.c:2230:82: warning: unused parameter 'private' [-Wunused-parameter]
 2230 | static int sample_conv_regsub(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'check_operator':
src/sample.c:2303:65: warning: unused parameter 'conv' [-Wunused-parameter]
 2303 | static int check_operator(struct arg *args, struct sample_conv *conv,
      |                                             ~~~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2304:39: warning: unused parameter 'file' [-Wunused-parameter]
 2304 |                           const char *file, int line, char **err)
      |                           ~~~~~~~~~~~~^~~~
src/sample.c:2304:49: warning: unused parameter 'line' [-Wunused-parameter]
 2304 |                           const char *file, int line, char **err)
      |                                             ~~~~^~~~
src/sample.c: In function 'sample_conv_binary_cpl':
src/sample.c:2355:53: warning: unused parameter 'arg_p' [-Wunused-parameter]
 2355 | static int sample_conv_binary_cpl(const struct arg *arg_p, struct sample *smp, void *private)
      |                                   ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:2355:86: warning: unused parameter 'private' [-Wunused-parameter]
 2355 | static int sample_conv_binary_cpl(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_binary_and':
src/sample.c:2364:86: warning: unused parameter 'private' [-Wunused-parameter]
 2364 | static int sample_conv_binary_and(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_binary_or':
src/sample.c:2378:85: warning: unused parameter 'private' [-Wunused-parameter]
 2378 | static int sample_conv_binary_or(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_binary_xor':
src/sample.c:2392:86: warning: unused parameter 'private' [-Wunused-parameter]
 2392 | static int sample_conv_binary_xor(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_add':
src/sample.c:2432:85: warning: unused parameter 'private' [-Wunused-parameter]
 2432 | static int sample_conv_arith_add(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_sub':
src/sample.c:2447:60: warning: unused parameter 'private' [-Wunused-parameter]
 2447 |                                  struct sample *smp, void *private)
      |                                                      ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_mul':
src/sample.c:2479:60: warning: unused parameter 'private' [-Wunused-parameter]
 2479 |                                  struct sample *smp, void *private)
      |                                                      ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_div':
src/sample.c:2524:60: warning: unused parameter 'private' [-Wunused-parameter]
 2524 |                                  struct sample *smp, void *private)
      |                                                      ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_mod':
src/sample.c:2552:60: warning: unused parameter 'private' [-Wunused-parameter]
 2552 |                                  struct sample *smp, void *private)
      |                                                      ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_neg':
src/sample.c:2578:52: warning: unused parameter 'arg_p' [-Wunused-parameter]
 2578 | static int sample_conv_arith_neg(const struct arg *arg_p,
      |                                  ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:2579:60: warning: unused parameter 'private' [-Wunused-parameter]
 2579 |                                  struct sample *smp, void *private)
      |                                                      ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_bool':
src/sample.c:2591:53: warning: unused parameter 'arg_p' [-Wunused-parameter]
 2591 | static int sample_conv_arith_bool(const struct arg *arg_p,
      |                                   ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:2592:61: warning: unused parameter 'private' [-Wunused-parameter]
 2592 |                                   struct sample *smp, void *private)
      |                                                       ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_not':
src/sample.c:2602:52: warning: unused parameter 'arg_p' [-Wunused-parameter]
 2602 | static int sample_conv_arith_not(const struct arg *arg_p,
      |                                  ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:2603:60: warning: unused parameter 'private' [-Wunused-parameter]
 2603 |                                  struct sample *smp, void *private)
      |                                                      ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_odd':
src/sample.c:2613:52: warning: unused parameter 'arg_p' [-Wunused-parameter]
 2613 | static int sample_conv_arith_odd(const struct arg *arg_p,
      |                                  ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:2614:60: warning: unused parameter 'private' [-Wunused-parameter]
 2614 |                                  struct sample *smp, void *private)
      |                                                      ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_arith_even':
src/sample.c:2624:53: warning: unused parameter 'arg_p' [-Wunused-parameter]
 2624 | static int sample_conv_arith_even(const struct arg *arg_p,
      |                                   ~~~~~~~~~~~~~~~~~~^~~~~
src/sample.c:2625:61: warning: unused parameter 'private' [-Wunused-parameter]
 2625 |                                   struct sample *smp, void *private)
      |                                                       ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_concat':
src/sample.c:2651:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2651 |  if (max > trash->size - 1 - trash->data)
      |          ^
src/sample.c:2669:11: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2669 |   if (max > trash->size - 1 - trash->data)
      |           ^
src/sample.c:2682:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 2682 |  if (max > trash->size - 1 - trash->data)
      |          ^
src/sample.c:2635:82: warning: unused parameter 'private' [-Wunused-parameter]
 2635 | static int sample_conv_concat(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'smp_check_concat':
src/sample.c:2699:67: warning: unused parameter 'conv' [-Wunused-parameter]
 2699 | static int smp_check_concat(struct arg *args, struct sample_conv *conv,
      |                                               ~~~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2700:40: warning: unused parameter 'file' [-Wunused-parameter]
 2700 |                            const char *file, int line, char **err)
      |                            ~~~~~~~~~~~~^~~~
src/sample.c:2700:50: warning: unused parameter 'line' [-Wunused-parameter]
 2700 |                            const char *file, int line, char **err)
      |                                              ~~~~^~~~
src/sample.c: In function 'sample_conv_strcmp':
src/sample.c:2714:82: warning: unused parameter 'private' [-Wunused-parameter]
 2714 | static int sample_conv_strcmp(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_ungrpc':
src/sample.c:2755:82: warning: unused parameter 'private' [-Wunused-parameter]
 2755 | static int sample_conv_ungrpc(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_protobuf':
src/sample.c:2783:84: warning: unused parameter 'private' [-Wunused-parameter]
 2783 | static int sample_conv_protobuf(const struct arg *arg_p, struct sample *smp, void *private)
      |                                                                              ~~~~~~^~~~~~~
src/sample.c: In function 'sample_conv_protobuf_check':
src/sample.c:2794:77: warning: unused parameter 'conv' [-Wunused-parameter]
 2794 | static int sample_conv_protobuf_check(struct arg *args, struct sample_conv *conv,
      |                                                         ~~~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2795:51: warning: unused parameter 'file' [-Wunused-parameter]
 2795 |                                       const char *file, int line, char **err)
      |                                       ~~~~~~~~~~~~^~~~
src/sample.c:2795:61: warning: unused parameter 'line' [-Wunused-parameter]
 2795 |                                       const char *file, int line, char **err)
      |                                                         ~~~~^~~~
src/sample.c: In function 'smp_check_strcmp':
src/sample.c:2820:67: warning: unused parameter 'conv' [-Wunused-parameter]
 2820 | static int smp_check_strcmp(struct arg *args, struct sample_conv *conv,
      |                                               ~~~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2821:40: warning: unused parameter 'file' [-Wunused-parameter]
 2821 |                            const char *file, int line, char **err)
      |                            ~~~~~~~~~~~~^~~~
src/sample.c:2821:50: warning: unused parameter 'line' [-Wunused-parameter]
 2821 |                            const char *file, int line, char **err)
      |                                              ~~~~^~~~
src/sample.c: In function 'smp_fetch_true':
src/sample.c:2838:34: warning: unused parameter 'args' [-Wunused-parameter]
 2838 | smp_fetch_true(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2838:72: warning: unused parameter 'kw' [-Wunused-parameter]
 2838 | smp_fetch_true(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                            ~~~~~~~~~~~~^~
src/sample.c:2838:82: warning: unused parameter 'private' [-Wunused-parameter]
 2838 | smp_fetch_true(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_false':
src/sample.c:2850:35: warning: unused parameter 'args' [-Wunused-parameter]
 2850 | smp_fetch_false(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                 ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2850:73: warning: unused parameter 'kw' [-Wunused-parameter]
 2850 | smp_fetch_false(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                             ~~~~~~~~~~~~^~
src/sample.c:2850:83: warning: unused parameter 'private' [-Wunused-parameter]
 2850 | smp_fetch_false(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_env':
src/sample.c:2859:71: warning: unused parameter 'kw' [-Wunused-parameter]
 2859 | smp_fetch_env(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                           ~~~~~~~~~~~~^~
src/sample.c:2859:81: warning: unused parameter 'private' [-Wunused-parameter]
 2859 | smp_fetch_env(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_date':
src/sample.c:2881:72: warning: unused parameter 'kw' [-Wunused-parameter]
 2881 | smp_fetch_date(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                            ~~~~~~~~~~~~^~
src/sample.c:2881:82: warning: unused parameter 'private' [-Wunused-parameter]
 2881 | smp_fetch_date(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_date_us':
src/sample.c:2896:37: warning: unused parameter 'args' [-Wunused-parameter]
 2896 | smp_fetch_date_us(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                   ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2896:75: warning: unused parameter 'kw' [-Wunused-parameter]
 2896 | smp_fetch_date_us(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                               ~~~~~~~~~~~~^~
src/sample.c:2896:85: warning: unused parameter 'private' [-Wunused-parameter]
 2896 | smp_fetch_date_us(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_hostname':
src/sample.c:2907:38: warning: unused parameter 'args' [-Wunused-parameter]
 2907 | smp_fetch_hostname(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                    ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2907:76: warning: unused parameter 'kw' [-Wunused-parameter]
 2907 | smp_fetch_hostname(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                ~~~~~~~~~~~~^~
src/sample.c:2907:86: warning: unused parameter 'private' [-Wunused-parameter]
 2907 | smp_fetch_hostname(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_nbproc':
src/sample.c:2918:36: warning: unused parameter 'args' [-Wunused-parameter]
 2918 | smp_fetch_nbproc(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                  ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2918:74: warning: unused parameter 'kw' [-Wunused-parameter]
 2918 | smp_fetch_nbproc(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                              ~~~~~~~~~~~~^~
src/sample.c:2918:84: warning: unused parameter 'private' [-Wunused-parameter]
 2918 | smp_fetch_nbproc(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                              ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_proc':
src/sample.c:2927:34: warning: unused parameter 'args' [-Wunused-parameter]
 2927 | smp_fetch_proc(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2927:72: warning: unused parameter 'kw' [-Wunused-parameter]
 2927 | smp_fetch_proc(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                            ~~~~~~~~~~~~^~
src/sample.c:2927:82: warning: unused parameter 'private' [-Wunused-parameter]
 2927 | smp_fetch_proc(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_thread':
src/sample.c:2936:36: warning: unused parameter 'args' [-Wunused-parameter]
 2936 | smp_fetch_thread(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                  ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2936:74: warning: unused parameter 'kw' [-Wunused-parameter]
 2936 | smp_fetch_thread(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                              ~~~~~~~~~~~~^~
src/sample.c:2936:84: warning: unused parameter 'private' [-Wunused-parameter]
 2936 | smp_fetch_thread(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                              ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_rand':
src/sample.c:2947:72: warning: unused parameter 'kw' [-Wunused-parameter]
 2947 | smp_fetch_rand(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                            ~~~~~~~~~~~~^~
src/sample.c:2947:82: warning: unused parameter 'private' [-Wunused-parameter]
 2947 | smp_fetch_rand(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_stopping':
src/sample.c:2962:38: warning: unused parameter 'args' [-Wunused-parameter]
 2962 | smp_fetch_stopping(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                    ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2962:76: warning: unused parameter 'kw' [-Wunused-parameter]
 2962 | smp_fetch_stopping(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                ~~~~~~~~~~~~^~
src/sample.c:2962:86: warning: unused parameter 'private' [-Wunused-parameter]
 2962 | smp_fetch_stopping(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_cpu_calls':
src/sample.c:2971:39: warning: unused parameter 'args' [-Wunused-parameter]
 2971 | smp_fetch_cpu_calls(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                     ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2971:77: warning: unused parameter 'kw' [-Wunused-parameter]
 2971 | smp_fetch_cpu_calls(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/sample.c:2971:87: warning: unused parameter 'private' [-Wunused-parameter]
 2971 | smp_fetch_cpu_calls(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_cpu_ns_avg':
src/sample.c:2980:40: warning: unused parameter 'args' [-Wunused-parameter]
 2980 | smp_fetch_cpu_ns_avg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                      ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2980:78: warning: unused parameter 'kw' [-Wunused-parameter]
 2980 | smp_fetch_cpu_ns_avg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/sample.c:2980:88: warning: unused parameter 'private' [-Wunused-parameter]
 2980 | smp_fetch_cpu_ns_avg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_cpu_ns_tot':
src/sample.c:2989:40: warning: unused parameter 'args' [-Wunused-parameter]
 2989 | smp_fetch_cpu_ns_tot(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                      ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2989:78: warning: unused parameter 'kw' [-Wunused-parameter]
 2989 | smp_fetch_cpu_ns_tot(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/sample.c:2989:88: warning: unused parameter 'private' [-Wunused-parameter]
 2989 | smp_fetch_cpu_ns_tot(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_lat_ns_avg':
src/sample.c:2998:40: warning: unused parameter 'args' [-Wunused-parameter]
 2998 | smp_fetch_lat_ns_avg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                      ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:2998:78: warning: unused parameter 'kw' [-Wunused-parameter]
 2998 | smp_fetch_lat_ns_avg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/sample.c:2998:88: warning: unused parameter 'private' [-Wunused-parameter]
 2998 | smp_fetch_lat_ns_avg(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_lat_ns_tot':
src/sample.c:3007:40: warning: unused parameter 'args' [-Wunused-parameter]
 3007 | smp_fetch_lat_ns_tot(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                      ~~~~~~~~~~~~~~~~~~^~~~
src/sample.c:3007:78: warning: unused parameter 'kw' [-Wunused-parameter]
 3007 | smp_fetch_lat_ns_tot(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/sample.c:3007:88: warning: unused parameter 'private' [-Wunused-parameter]
 3007 | smp_fetch_lat_ns_tot(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_const_str':
src/sample.c:3014:88: warning: unused parameter 'kw' [-Wunused-parameter]
 3014 | static int smp_fetch_const_str(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~~~~~~~^~
src/sample.c:3014:98: warning: unused parameter 'private' [-Wunused-parameter]
 3014 | static int smp_fetch_const_str(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_const_bool':
src/sample.c:3041:89: warning: unused parameter 'kw' [-Wunused-parameter]
 3041 | static int smp_fetch_const_bool(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~~~~~~~^~
src/sample.c:3041:99: warning: unused parameter 'private' [-Wunused-parameter]
 3041 | static int smp_fetch_const_bool(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                             ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_const_int':
src/sample.c:3048:88: warning: unused parameter 'kw' [-Wunused-parameter]
 3048 | static int smp_fetch_const_int(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~~~~~~~^~
src/sample.c:3048:98: warning: unused parameter 'private' [-Wunused-parameter]
 3048 | static int smp_fetch_const_int(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_const_ipv4':
src/sample.c:3055:89: warning: unused parameter 'kw' [-Wunused-parameter]
 3055 | static int smp_fetch_const_ipv4(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~~~~~~~^~
src/sample.c:3055:99: warning: unused parameter 'private' [-Wunused-parameter]
 3055 | static int smp_fetch_const_ipv4(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                             ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_const_ipv6':
src/sample.c:3062:89: warning: unused parameter 'kw' [-Wunused-parameter]
 3062 | static int smp_fetch_const_ipv6(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~~~~~~~^~
src/sample.c:3062:99: warning: unused parameter 'private' [-Wunused-parameter]
 3062 | static int smp_fetch_const_ipv6(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                             ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_const_bin':
src/sample.c:3082:88: warning: unused parameter 'kw' [-Wunused-parameter]
 3082 | static int smp_fetch_const_bin(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                            ~~~~~~~~~~~~^~
src/sample.c:3082:98: warning: unused parameter 'private' [-Wunused-parameter]
 3082 | static int smp_fetch_const_bin(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                            ~~~~~~^~~~~~~
src/sample.c: In function 'smp_check_const_meth':
src/sample.c:3106:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 3106 |   for (i = 0; i < args[0].data.str.data; i++) {
      |                 ^
src/sample.c: In function 'smp_fetch_const_meth':
src/sample.c:3116:89: warning: unused parameter 'kw' [-Wunused-parameter]
 3116 | static int smp_fetch_const_meth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~~~~~~~^~
src/sample.c:3116:99: warning: unused parameter 'private' [-Wunused-parameter]
 3116 | static int smp_fetch_const_meth(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                             ~~~~~~^~~~~~~
src/sample.c: In function 'smp_fetch_uuid':
src/sample.c:3150:83: warning: unused parameter 'kw' [-Wunused-parameter]
 3150 | static int smp_fetch_uuid(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                       ~~~~~~~~~~~~^~
src/sample.c:3150:93: warning: unused parameter 'private' [-Wunused-parameter]
 3150 | static int smp_fetch_uuid(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/sample.c: At top level:
src/sample.c:3193:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3193 |  { "always_false", smp_fetch_false, 0,            NULL, SMP_T_BOOL, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3194:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3194 |  { "always_true",  smp_fetch_true,  0,            NULL, SMP_T_BOOL, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3195:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3195 |  { "env",          smp_fetch_env,   ARG1(1,STR),  NULL, SMP_T_STR,  SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3196:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3196 |  { "date",         smp_fetch_date,  ARG1(0,SINT), NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3197:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3197 |  { "date_us",      smp_fetch_date_us,  0,         NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3198:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3198 |  { "hostname",     smp_fetch_hostname, 0,         NULL, SMP_T_STR,  SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3199:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3199 |  { "nbproc",       smp_fetch_nbproc,0,            NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3200:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3200 |  { "proc",         smp_fetch_proc,  0,            NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3201:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3201 |  { "thread",       smp_fetch_thread,  0,          NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3202:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3202 |  { "rand",         smp_fetch_rand,  ARG1(0,SINT), NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3203:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3203 |  { "stopping",     smp_fetch_stopping, 0,         NULL, SMP_T_BOOL, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3204:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3204 |  { "stopping",     smp_fetch_stopping, 0,         NULL, SMP_T_BOOL, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3205:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3205 |  { "uuid",         smp_fetch_uuid,  ARG1(0, SINT),      smp_check_uuid, SMP_T_STR, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3207:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3207 |  { "cpu_calls",    smp_fetch_cpu_calls,  0,       NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3208:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3208 |  { "cpu_ns_avg",   smp_fetch_cpu_ns_avg, 0,       NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3209:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3209 |  { "cpu_ns_tot",   smp_fetch_cpu_ns_tot, 0,       NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3210:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3210 |  { "lat_ns_avg",   smp_fetch_lat_ns_avg, 0,       NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3211:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3211 |  { "lat_ns_tot",   smp_fetch_lat_ns_tot, 0,       NULL, SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3213:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3213 |  { "str",  smp_fetch_const_str,  ARG1(1,STR),  NULL                , SMP_T_STR,  SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3214:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3214 |  { "bool", smp_fetch_const_bool, ARG1(1,STR),  smp_check_const_bool, SMP_T_BOOL, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3215:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3215 |  { "int",  smp_fetch_const_int,  ARG1(1,SINT), NULL                , SMP_T_SINT, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3216:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3216 |  { "ipv4", smp_fetch_const_ipv4, ARG1(1,IPV4), NULL                , SMP_T_IPV4, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3217:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3217 |  { "ipv6", smp_fetch_const_ipv6, ARG1(1,IPV6), NULL                , SMP_T_IPV6, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3218:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3218 |  { "bin",  smp_fetch_const_bin,  ARG1(1,STR),  smp_check_const_bin , SMP_T_BIN,  SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/sample.c:3219:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 3219 |  { "meth", smp_fetch_const_meth, ARG1(1,STR),  smp_check_const_meth, SMP_T_METH, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/types/global.h:28,
                 from src/sample.c:19:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/sample.c:3224:1: note: in expansion of macro 'INITCALL1'
 3224 | INITCALL1(STG_REGISTER, sample_register_fetches, &smp_kws);
      | ^~~~~~~~~
src/sample.c:3232:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3232 |  { "b64dec", sample_conv_base642bin,0,            NULL, SMP_T_STR,  SMP_T_BIN  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3233:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3233 |  { "base64", sample_conv_bin2base64,0,            NULL, SMP_T_BIN,  SMP_T_STR  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3234:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3234 |  { "upper",  sample_conv_str2upper, 0,            NULL, SMP_T_STR,  SMP_T_STR  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3235:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3235 |  { "lower",  sample_conv_str2lower, 0,            NULL, SMP_T_STR,  SMP_T_STR  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3236:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3236 |  { "length", sample_conv_length,    0,            NULL, SMP_T_STR,  SMP_T_SINT },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3237:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3237 |  { "hex",    sample_conv_bin2hex,   0,            NULL, SMP_T_BIN,  SMP_T_STR  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3238:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3238 |  { "hex2i",  sample_conv_hex2int,   0,            NULL, SMP_T_STR,  SMP_T_SINT },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3239:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3239 |  { "ipmask", sample_conv_ipmask,    ARG2(1,MSK4,MSK6), NULL, SMP_T_ADDR, SMP_T_IPV4 },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3240:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3240 |  { "ltime",  sample_conv_ltime,     ARG2(1,STR,SINT), NULL, SMP_T_SINT, SMP_T_STR },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3241:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3241 |  { "utime",  sample_conv_utime,     ARG2(1,STR,SINT), NULL, SMP_T_SINT, SMP_T_STR },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3242:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3242 |  { "crc32",  sample_conv_crc32,     ARG1(0,SINT), NULL, SMP_T_BIN,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3243:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3243 |  { "crc32c", sample_conv_crc32c,    ARG1(0,SINT), NULL, SMP_T_BIN,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3244:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3244 |  { "djb2",   sample_conv_djb2,      ARG1(0,SINT), NULL, SMP_T_BIN,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3245:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3245 |  { "sdbm",   sample_conv_sdbm,      ARG1(0,SINT), NULL, SMP_T_BIN,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3246:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3246 |  { "wt6",    sample_conv_wt6,       ARG1(0,SINT), NULL, SMP_T_BIN,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3247:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3247 |  { "xxh32",  sample_conv_xxh32,     ARG1(0,SINT), NULL, SMP_T_BIN,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3248:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3248 |  { "xxh64",  sample_conv_xxh64,     ARG1(0,SINT), NULL, SMP_T_BIN,  SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3249:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3249 |  { "json",   sample_conv_json,      ARG1(1,STR),  sample_conv_json_check, SMP_T_STR,  SMP_T_STR },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3250:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3250 |  { "bytes",  sample_conv_bytes,     ARG2(1,SINT,SINT), NULL, SMP_T_BIN,  SMP_T_BIN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3251:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3251 |  { "field",  sample_conv_field,     ARG3(2,SINT,STR,SINT), sample_conv_field_check, SMP_T_STR,  SMP_T_STR },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3252:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3252 |  { "word",   sample_conv_word,      ARG3(2,SINT,STR,SINT), sample_conv_field_check, SMP_T_STR,  SMP_T_STR },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3253:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3253 |  { "regsub", sample_conv_regsub,    ARG3(2,REG,STR,STR), sample_conv_regsub_check, SMP_T_STR, SMP_T_STR },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3254:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3254 |  { "sha1",   sample_conv_sha1,      0,            NULL, SMP_T_BIN,  SMP_T_BIN  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3255:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3255 |  { "concat", sample_conv_concat,    ARG3(1,STR,STR,STR), smp_check_concat, SMP_T_STR,  SMP_T_STR },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3256:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3256 |  { "strcmp", sample_conv_strcmp,    ARG1(1,STR), smp_check_strcmp, SMP_T_STR,  SMP_T_SINT },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3259:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3259 |  { "ungrpc", sample_conv_ungrpc,    ARG2(1,PBUF_FNUM,STR), sample_conv_protobuf_check, SMP_T_BIN, SMP_T_BIN  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3260:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3260 |  { "protobuf", sample_conv_protobuf, ARG2(1,PBUF_FNUM,STR), sample_conv_protobuf_check, SMP_T_BIN, SMP_T_BIN  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3262:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3262 |  { "and",    sample_conv_binary_and, ARG1(1,STR), check_operator, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3263:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3263 |  { "or",     sample_conv_binary_or,  ARG1(1,STR), check_operator, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3264:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3264 |  { "xor",    sample_conv_binary_xor, ARG1(1,STR), check_operator, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3265:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3265 |  { "cpl",    sample_conv_binary_cpl,           0, NULL, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3266:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3266 |  { "bool",   sample_conv_arith_bool,           0, NULL, SMP_T_SINT, SMP_T_BOOL },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3267:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3267 |  { "not",    sample_conv_arith_not,            0, NULL, SMP_T_SINT, SMP_T_BOOL },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3268:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3268 |  { "odd",    sample_conv_arith_odd,            0, NULL, SMP_T_SINT, SMP_T_BOOL },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3269:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3269 |  { "even",   sample_conv_arith_even,           0, NULL, SMP_T_SINT, SMP_T_BOOL },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3270:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3270 |  { "add",    sample_conv_arith_add,  ARG1(1,STR), check_operator, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3271:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3271 |  { "sub",    sample_conv_arith_sub,  ARG1(1,STR), check_operator, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3272:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3272 |  { "mul",    sample_conv_arith_mul,  ARG1(1,STR), check_operator, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3273:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3273 |  { "div",    sample_conv_arith_div,  ARG1(1,STR), check_operator, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3274:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3274 |  { "mod",    sample_conv_arith_mod,  ARG1(1,STR), check_operator, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3275:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
 3275 |  { "neg",    sample_conv_arith_neg,            0, NULL, SMP_T_SINT, SMP_T_SINT  },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/sample.c:3277:2: warning: missing initializer for field 'out_type' of 'struct sample_conv' [-Wmissing-field-initializers]
 3277 |  { NULL, NULL, 0, 0, 0 },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/sample.c:19:
include/types/sample.h:278:15: note: 'out_type' declared here
  278 |  unsigned int out_type;                    /* output sample type */
      |               ^~~~~~~~
In file included from include/types/global.h:28,
                 from src/sample.c:19:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_conv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/sample.c:3280:1: note: in expansion of macro 'INITCALL1'
 3280 | INITCALL1(STG_REGISTER, sample_register_convs, &sample_conv_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/h1.o
In file included from include/common/buffer.h:30,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/common/h1.h:25,
                 from src/h1.c:15:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from include/proto/channel.h:32,
                 from src/h1.c:18:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/h1.c:18:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/h1.c:18:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/common/h1.h:25,
                 from src/h1.c:15:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/h1.c:18:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/h1.c:18:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/h1.c:18:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/common/config.h:25,
                 from src/h1.c:14:
src/h1.c: In function 'h1_parse_cont_len_header':
src/h1.c:52:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'long long unsigned int' [-Wsign-compare]
   52 |    if (unlikely(cl > ULLONG_MAX / 10ULL))
      |                    ^
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/h1.c:73:37: warning: comparison of integer expressions of different signedness: 'long long int' and 'uint64_t' {aka 'long long unsigned int'} [-Wsign-compare]
   73 |   if (h1m->flags & H1_MF_CLEN && cl != h1m->body_len)
      |                                     ^~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/http_rules.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/http_rules.c:19:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from include/proto/proto_http.h:29,
                 from src/http_rules.c:36:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/proto_http.h:29,
                 from src/http_rules.c:36:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/http_rules.c:36:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/proto_tcp.o
In file included from include/common/standard.h:36,
                 from src/proto_tcp.c:41:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/proto_tcp.c:41:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/proto_tcp.c:41:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/proto_tcp.c:41:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/channel.h:32,
                 from src/proto_tcp.c:50:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_tcp.c:41:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/proto_tcp.c:50:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/proto_tcp.c:50:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/proto_tcp.c:51:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/proto_tcp.c:51:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from src/proto_tcp.c:58:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
src/proto_tcp.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct protocol *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:94:1: note: in expansion of macro 'INITCALL1'
   94 | INITCALL1(STG_REGISTER, protocol_register, &proto_tcpv4);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct protocol *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:119:1: note: in expansion of macro 'INITCALL1'
  119 | INITCALL1(STG_REGISTER, protocol_register, &proto_tcpv6);
      | ^~~~~~~~~
src/proto_tcp.c: In function 'tcp_action_req_set_src':
src/proto_tcp.c:1182:91: warning: unused parameter 'flags' [-Wunused-parameter]
 1182 |                                               struct session *sess, struct stream *s, int flags)
      |                                                                                       ~~~~^~~~~
src/proto_tcp.c: In function 'tcp_action_req_set_dst':
src/proto_tcp.c:1214:91: warning: unused parameter 'flags' [-Wunused-parameter]
 1214 |                                               struct session *sess, struct stream *s, int flags)
      |                                                                                       ~~~~^~~~~
src/proto_tcp.c: In function 'tcp_action_req_set_src_port':
src/proto_tcp.c:1246:91: warning: unused parameter 'flags' [-Wunused-parameter]
 1246 |                                               struct session *sess, struct stream *s, int flags)
      |                                                                                       ~~~~^~~~~
src/proto_tcp.c: In function 'tcp_action_req_set_dst_port':
src/proto_tcp.c:1278:91: warning: unused parameter 'flags' [-Wunused-parameter]
 1278 |                                               struct session *sess, struct stream *s, int flags)
      |                                                                                       ~~~~^~~~~
src/proto_tcp.c: In function 'tcp_exec_action_silent_drop':
src/proto_tcp.c:1304:69: warning: unused parameter 'rule' [-Wunused-parameter]
 1304 | static enum act_return tcp_exec_action_silent_drop(struct act_rule *rule, struct proxy *px, struct session *sess, struct stream *strm, int flags)
      |                                                    ~~~~~~~~~~~~~~~~~^~~~
src/proto_tcp.c:1304:89: warning: unused parameter 'px' [-Wunused-parameter]
 1304 | static enum act_return tcp_exec_action_silent_drop(struct act_rule *rule, struct proxy *px, struct session *sess, struct stream *strm, int flags)
      |                                                                           ~~~~~~~~~~~~~~^~
src/proto_tcp.c:1304:140: warning: unused parameter 'flags' [-Wunused-parameter]
 1304 | static enum act_return tcp_exec_action_silent_drop(struct act_rule *rule, struct proxy *px, struct session *sess, struct stream *strm, int flags)
      |                                                                                                                                        ~~~~^~~~~
src/proto_tcp.c: In function 'tcp_parse_silent_drop':
src/proto_tcp.c:1419:62: warning: unused parameter 'args' [-Wunused-parameter]
 1419 | static enum act_parse_ret tcp_parse_silent_drop(const char **args, int *orig_arg, struct proxy *px,
      |                                                 ~~~~~~~~~~~~~^~~~
src/proto_tcp.c:1419:73: warning: unused parameter 'orig_arg' [-Wunused-parameter]
 1419 | static enum act_parse_ret tcp_parse_silent_drop(const char **args, int *orig_arg, struct proxy *px,
      |                                                                    ~~~~~^~~~~~~~
src/proto_tcp.c:1419:97: warning: unused parameter 'px' [-Wunused-parameter]
 1419 | static enum act_parse_ret tcp_parse_silent_drop(const char **args, int *orig_arg, struct proxy *px,
      |                                                                                   ~~~~~~~~~~~~~~^~
src/proto_tcp.c:1420:79: warning: unused parameter 'err' [-Wunused-parameter]
 1420 |                                                 struct act_rule *rule, char **err)
      |                                                                        ~~~~~~~^~~
src/proto_tcp.c: In function 'smp_fetch_src':
src/proto_tcp.c:1433:37: warning: unused parameter 'args' [-Wunused-parameter]
 1433 | int smp_fetch_src(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                   ~~~~~~~~~~~~~~~~~~^~~~
src/proto_tcp.c:1433:75: warning: unused parameter 'kw' [-Wunused-parameter]
 1433 | int smp_fetch_src(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                               ~~~~~~~~~~~~^~
src/proto_tcp.c:1433:85: warning: unused parameter 'private' [-Wunused-parameter]
 1433 | int smp_fetch_src(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_sport':
src/proto_tcp.c:1459:35: warning: unused parameter 'args' [-Wunused-parameter]
 1459 | smp_fetch_sport(const struct arg *args, struct sample *smp, const char *k, void *private)
      |                 ~~~~~~~~~~~~~~~~~~^~~~
src/proto_tcp.c:1459:73: warning: unused parameter 'k' [-Wunused-parameter]
 1459 | smp_fetch_sport(const struct arg *args, struct sample *smp, const char *k, void *private)
      |                                                             ~~~~~~~~~~~~^
src/proto_tcp.c:1459:82: warning: unused parameter 'private' [-Wunused-parameter]
 1459 | smp_fetch_sport(const struct arg *args, struct sample *smp, const char *k, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_dst':
src/proto_tcp.c:1476:33: warning: unused parameter 'args' [-Wunused-parameter]
 1476 | smp_fetch_dst(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |               ~~~~~~~~~~~~~~~~~~^~~~
src/proto_tcp.c:1476:71: warning: unused parameter 'kw' [-Wunused-parameter]
 1476 | smp_fetch_dst(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                           ~~~~~~~~~~~~^~
src/proto_tcp.c:1476:81: warning: unused parameter 'private' [-Wunused-parameter]
 1476 | smp_fetch_dst(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_dst_is_local':
src/proto_tcp.c:1505:46: warning: unused parameter 'args' [-Wunused-parameter]
 1505 | int smp_fetch_dst_is_local(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                            ~~~~~~~~~~~~~~~~~~^~~~
src/proto_tcp.c:1505:84: warning: unused parameter 'kw' [-Wunused-parameter]
 1505 | int smp_fetch_dst_is_local(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                        ~~~~~~~~~~~~^~
src/proto_tcp.c:1505:94: warning: unused parameter 'private' [-Wunused-parameter]
 1505 | int smp_fetch_dst_is_local(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_src_is_local':
src/proto_tcp.c:1526:46: warning: unused parameter 'args' [-Wunused-parameter]
 1526 | int smp_fetch_src_is_local(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                            ~~~~~~~~~~~~~~~~~~^~~~
src/proto_tcp.c:1526:84: warning: unused parameter 'kw' [-Wunused-parameter]
 1526 | int smp_fetch_src_is_local(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                        ~~~~~~~~~~~~^~
src/proto_tcp.c:1526:94: warning: unused parameter 'private' [-Wunused-parameter]
 1526 | int smp_fetch_src_is_local(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                        ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_dport':
src/proto_tcp.c:1546:35: warning: unused parameter 'args' [-Wunused-parameter]
 1546 | smp_fetch_dport(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                 ~~~~~~~~~~~~~~~~~~^~~~
src/proto_tcp.c:1546:73: warning: unused parameter 'kw' [-Wunused-parameter]
 1546 | smp_fetch_dport(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                             ~~~~~~~~~~~~^~
src/proto_tcp.c:1546:83: warning: unused parameter 'private' [-Wunused-parameter]
 1546 | smp_fetch_dport(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'var_fc_counter':
src/proto_tcp.c:1604:52: warning: unused parameter 'err' [-Wunused-parameter]
 1604 | static int var_fc_counter(struct arg *args, char **err)
      |                                             ~~~~~~~^~~
src/proto_tcp.c: In function 'get_tcp_info':
src/proto_tcp.c:1621:50: warning: unused parameter 'args' [-Wunused-parameter]
 1621 | static inline int get_tcp_info(const struct arg *args, struct sample *smp,
      |                                ~~~~~~~~~~~~~~~~~~^~~~
src/proto_tcp.c: In function 'smp_fetch_fc_rtt':
src/proto_tcp.c:1675:74: warning: unused parameter 'kw' [-Wunused-parameter]
 1675 | smp_fetch_fc_rtt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                              ~~~~~~~~~~~~^~
src/proto_tcp.c:1675:84: warning: unused parameter 'private' [-Wunused-parameter]
 1675 | smp_fetch_fc_rtt(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                              ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_fc_rttvar':
src/proto_tcp.c:1689:77: warning: unused parameter 'kw' [-Wunused-parameter]
 1689 | smp_fetch_fc_rttvar(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/proto_tcp.c:1689:87: warning: unused parameter 'private' [-Wunused-parameter]
 1689 | smp_fetch_fc_rttvar(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_fc_unacked':
src/proto_tcp.c:1705:78: warning: unused parameter 'kw' [-Wunused-parameter]
 1705 | smp_fetch_fc_unacked(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/proto_tcp.c:1705:88: warning: unused parameter 'private' [-Wunused-parameter]
 1705 | smp_fetch_fc_unacked(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_fc_sacked':
src/proto_tcp.c:1714:77: warning: unused parameter 'kw' [-Wunused-parameter]
 1714 | smp_fetch_fc_sacked(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                 ~~~~~~~~~~~~^~
src/proto_tcp.c:1714:87: warning: unused parameter 'private' [-Wunused-parameter]
 1714 | smp_fetch_fc_sacked(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_fc_lost':
src/proto_tcp.c:1723:75: warning: unused parameter 'kw' [-Wunused-parameter]
 1723 | smp_fetch_fc_lost(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                               ~~~~~~~~~~~~^~
src/proto_tcp.c:1723:85: warning: unused parameter 'private' [-Wunused-parameter]
 1723 | smp_fetch_fc_lost(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_fc_retrans':
src/proto_tcp.c:1732:78: warning: unused parameter 'kw' [-Wunused-parameter]
 1732 | smp_fetch_fc_retrans(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/proto_tcp.c:1732:88: warning: unused parameter 'private' [-Wunused-parameter]
 1732 | smp_fetch_fc_retrans(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_fc_fackets':
src/proto_tcp.c:1741:78: warning: unused parameter 'kw' [-Wunused-parameter]
 1741 | smp_fetch_fc_fackets(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/proto_tcp.c:1741:88: warning: unused parameter 'private' [-Wunused-parameter]
 1741 | smp_fetch_fc_fackets(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'smp_fetch_fc_reordering':
src/proto_tcp.c:1750:81: warning: unused parameter 'kw' [-Wunused-parameter]
 1750 | smp_fetch_fc_reordering(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                     ~~~~~~~~~~~~^~
src/proto_tcp.c:1750:91: warning: unused parameter 'private' [-Wunused-parameter]
 1750 | smp_fetch_fc_reordering(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/proto_tcp.c: In function 'bind_parse_v4v6':
src/proto_tcp.c:1761:35: warning: unused parameter 'args' [-Wunused-parameter]
 1761 | static int bind_parse_v4v6(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                            ~~~~~~~^~~~
src/proto_tcp.c:1761:45: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 1761 | static int bind_parse_v4v6(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                         ~~~~^~~~~~~
src/proto_tcp.c:1761:68: warning: unused parameter 'px' [-Wunused-parameter]
 1761 | static int bind_parse_v4v6(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                      ~~~~~~~~~~~~~~^~
src/proto_tcp.c:1761:103: warning: unused parameter 'err' [-Wunused-parameter]
 1761 | static int bind_parse_v4v6(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                ~~~~~~~^~~
src/proto_tcp.c: In function 'bind_parse_v6only':
src/proto_tcp.c:1774:37: warning: unused parameter 'args' [-Wunused-parameter]
 1774 | static int bind_parse_v6only(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                              ~~~~~~~^~~~
src/proto_tcp.c:1774:47: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 1774 | static int bind_parse_v6only(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                           ~~~~^~~~~~~
src/proto_tcp.c:1774:70: warning: unused parameter 'px' [-Wunused-parameter]
 1774 | static int bind_parse_v6only(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                        ~~~~~~~~~~~~~~^~
src/proto_tcp.c:1774:105: warning: unused parameter 'err' [-Wunused-parameter]
 1774 | static int bind_parse_v6only(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                  ~~~~~~~^~~
src/proto_tcp.c: In function 'bind_parse_transparent':
src/proto_tcp.c:1789:42: warning: unused parameter 'args' [-Wunused-parameter]
 1789 | static int bind_parse_transparent(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                   ~~~~~~~^~~~
src/proto_tcp.c:1789:52: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 1789 | static int bind_parse_transparent(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                ~~~~^~~~~~~
src/proto_tcp.c:1789:75: warning: unused parameter 'px' [-Wunused-parameter]
 1789 | static int bind_parse_transparent(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                             ~~~~~~~~~~~~~~^~
src/proto_tcp.c:1789:110: warning: unused parameter 'err' [-Wunused-parameter]
 1789 | static int bind_parse_transparent(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                       ~~~~~~~^~~
src/proto_tcp.c: In function 'bind_parse_defer_accept':
src/proto_tcp.c:1804:43: warning: unused parameter 'args' [-Wunused-parameter]
 1804 | static int bind_parse_defer_accept(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                    ~~~~~~~^~~~
src/proto_tcp.c:1804:53: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 1804 | static int bind_parse_defer_accept(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                 ~~~~^~~~~~~
src/proto_tcp.c:1804:76: warning: unused parameter 'px' [-Wunused-parameter]
 1804 | static int bind_parse_defer_accept(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                              ~~~~~~~~~~~~~~^~
src/proto_tcp.c:1804:111: warning: unused parameter 'err' [-Wunused-parameter]
 1804 | static int bind_parse_defer_accept(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                        ~~~~~~~^~~
src/proto_tcp.c: In function 'bind_parse_tfo':
src/proto_tcp.c:1819:34: warning: unused parameter 'args' [-Wunused-parameter]
 1819 | static int bind_parse_tfo(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                           ~~~~~~~^~~~
src/proto_tcp.c:1819:44: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 1819 | static int bind_parse_tfo(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                        ~~~~^~~~~~~
src/proto_tcp.c:1819:67: warning: unused parameter 'px' [-Wunused-parameter]
 1819 | static int bind_parse_tfo(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/proto_tcp.c:1819:102: warning: unused parameter 'err' [-Wunused-parameter]
 1819 | static int bind_parse_tfo(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                               ~~~~~~~^~~
src/proto_tcp.c: In function 'bind_parse_mss':
src/proto_tcp.c:1834:67: warning: unused parameter 'px' [-Wunused-parameter]
 1834 | static int bind_parse_mss(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/proto_tcp.c: In function 'bind_parse_tcp_ut':
src/proto_tcp.c:1861:70: warning: unused parameter 'px' [-Wunused-parameter]
 1861 | static int bind_parse_tcp_ut(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                        ~~~~~~~~~~~~~~^~
src/proto_tcp.c: In function 'bind_parse_interface':
src/proto_tcp.c:1899:73: warning: unused parameter 'px' [-Wunused-parameter]
 1899 | static int bind_parse_interface(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                           ~~~~~~~~~~~~~~^~
src/proto_tcp.c: In function 'bind_parse_namespace':
src/proto_tcp.c:1919:73: warning: unused parameter 'px' [-Wunused-parameter]
 1919 | static int bind_parse_namespace(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                           ~~~~~~~~~~~~~~^~
src/proto_tcp.c: In function 'srv_parse_tcp_ut':
src/proto_tcp.c:1947:70: warning: unused parameter 'px' [-Wunused-parameter]
 1947 | static int srv_parse_tcp_ut(char **args, int *cur_arg, struct proxy *px, struct server *newsrv, char **err)
      |                                                        ~~~~~~~~~~~~~~^~
src/proto_tcp.c: At top level:
src/proto_tcp.c:1987:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1987 |  { "dst",      smp_fetch_dst,   0, NULL, SMP_T_IPV4, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1988:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1988 |  { "dst_is_local", smp_fetch_dst_is_local, 0, NULL, SMP_T_BOOL, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1989:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1989 |  { "dst_port", smp_fetch_dport, 0, NULL, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1990:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1990 |  { "src",      smp_fetch_src,   0, NULL, SMP_T_IPV4, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1991:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1991 |  { "src_is_local", smp_fetch_src_is_local, 0, NULL, SMP_T_BOOL, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1992:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1992 |  { "src_port", smp_fetch_sport, 0, NULL, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1994:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1994 |  { "fc_rtt",           smp_fetch_fc_rtt,           ARG1(0,STR), val_fc_time_value, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1995:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1995 |  { "fc_rttvar",        smp_fetch_fc_rttvar,        ARG1(0,STR), val_fc_time_value, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1997:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1997 |  { "fc_unacked",       smp_fetch_fc_unacked,       ARG1(0,STR), var_fc_counter, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1998:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1998 |  { "fc_sacked",        smp_fetch_fc_sacked,        ARG1(0,STR), var_fc_counter, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:1999:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1999 |  { "fc_retrans",       smp_fetch_fc_retrans,       ARG1(0,STR), var_fc_counter, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:2000:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2000 |  { "fc_fackets",       smp_fetch_fc_fackets,       ARG1(0,STR), var_fc_counter, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:2001:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2001 |  { "fc_lost",          smp_fetch_fc_lost,          ARG1(0,STR), var_fc_counter, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/proto_tcp.c:2002:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 2002 |  { "fc_reordering",    smp_fetch_fc_reordering,    ARG1(0,STR), var_fc_counter, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2008:1: note: in expansion of macro 'INITCALL1'
 2008 | INITCALL1(STG_REGISTER, sample_register_fetches, &sample_fetch_keywords);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct bind_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2057:1: note: in expansion of macro 'INITCALL1'
 2057 | INITCALL1(STG_REGISTER, bind_register_keywords, &bind_kws);
      | ^~~~~~~~~
src/proto_tcp.c:2063:2: warning: missing initializer for field 'default_ok' of 'struct srv_kw' [-Wmissing-field-initializers]
 2063 |  { NULL, NULL, 0 },
      |  ^
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/proto_tcp.c:44:
include/types/server.h:359:6: note: 'default_ok' declared here
  359 |  int default_ok; /* non-zero if kw is supported in default-server section */
      |      ^~~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct srv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2066:1: note: in expansion of macro 'INITCALL1'
 2066 | INITCALL1(STG_REGISTER, srv_register_keywords, &srv_kws);
      | ^~~~~~~~~
src/proto_tcp.c:2069:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2069 |  { "set-src",      tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2070:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2070 |  { "set-src-port", tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2071:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2071 |  { "set-dst"     , tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2072:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2072 |  { "set-dst-port", tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2073:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2073 |  { "silent-drop",  tcp_parse_silent_drop },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2077:1: note: in expansion of macro 'INITCALL1'
 2077 | INITCALL1(STG_REGISTER, tcp_req_conn_keywords_register, &tcp_req_conn_actions);
      | ^~~~~~~~~
src/proto_tcp.c:2080:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2080 |  { "set-src",      tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2081:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2081 |  { "set-src-port", tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2082:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2082 |  { "set-dst"     , tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2083:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2083 |  { "set-dst-port", tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2084:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2084 |  { "silent-drop",  tcp_parse_silent_drop },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2088:1: note: in expansion of macro 'INITCALL1'
 2088 | INITCALL1(STG_REGISTER, tcp_req_sess_keywords_register, &tcp_req_sess_actions);
      | ^~~~~~~~~
src/proto_tcp.c:2091:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2091 |  { "set-dst"     , tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2092:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2092 |  { "set-dst-port", tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2093:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2093 |  { "silent-drop",  tcp_parse_silent_drop },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2097:1: note: in expansion of macro 'INITCALL1'
 2097 | INITCALL1(STG_REGISTER, tcp_req_cont_keywords_register, &tcp_req_cont_actions);
      | ^~~~~~~~~
src/proto_tcp.c:2100:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2100 |  { "silent-drop", tcp_parse_silent_drop },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2104:1: note: in expansion of macro 'INITCALL1'
 2104 | INITCALL1(STG_REGISTER, tcp_res_cont_keywords_register, &tcp_res_cont_actions);
      | ^~~~~~~~~
src/proto_tcp.c:2107:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2107 |  { "silent-drop",  tcp_parse_silent_drop },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2108:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2108 |  { "set-src",      tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2109:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2109 |  { "set-src-port", tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2110:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2110 |  { "set-dst",      tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/proto_tcp.c:2111:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2111 |  { "set-dst-port", tcp_parse_set_src_dst },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2115:1: note: in expansion of macro 'INITCALL1'
 2115 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_actions);
      | ^~~~~~~~~
src/proto_tcp.c:2118:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2118 |  { "silent-drop", tcp_parse_silent_drop },
      |  ^
In file included from src/proto_tcp.c:44:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_tcp.c:37:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_tcp.c:2122:1: note: in expansion of macro 'INITCALL1'
 2122 | INITCALL1(STG_REGISTER, http_res_keywords_register, &http_res_actions);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(const char *, int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:314:2: note: in expansion of macro 'INITCALL2'
  314 |  INITCALL2(STG_REGISTER, hap_register_build_opts, (str), 0)
      |  ^~~~~~~~~
src/proto_tcp.c:2124:1: note: in expansion of macro 'REGISTER_BUILD_OPTS'
 2124 | REGISTER_BUILD_OPTS("Built with transparent proxy support using:"
      | ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/session.o
In file included from include/common/buffer.h:30,
                 from src/session.c:14:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/session.c:14:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/session.c:14:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/session.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/session.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/session.c:19:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/session.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/session.c:19:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/session.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/session.c:19:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/session.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/session.c:22:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/session.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/session.c:22:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/session.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/session.c:19:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/session.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/session.c:19:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/session.c:14:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/session.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/session.c:19:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/session.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/session.c:22:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/session.c:22:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/session.c:14:
src/session.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/session.c:31:1: note: in expansion of macro 'DECLARE_POOL'
   31 | DECLARE_POOL(pool_head_session, "session", sizeof(struct session));
      | ^~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/session.c:32:1: note: in expansion of macro 'DECLARE_POOL'
   32 | DECLARE_POOL(pool_head_sess_srv_list, "session server list",
      | ^~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/cache.o
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/cache.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/buffer.h:30,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/channel.h:32,
                 from src/cache.c:22:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from src/cache.c:16:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from src/cache.c:16:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/cache.c:13:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/cache.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/cache.c:22:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/cache.c:29:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/cache.c:32:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/cache.c:32:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from src/cache.c:33:
include/proto/shctx.h: In function '_shctx_wait4lock':
include/proto/shctx.h:93:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   93 |         for (i = 0; i < *count; i++) {
      |                       ^
include/proto/shctx.h:89:72: warning: unused parameter 'uaddr' [-Wunused-parameter]
   89 | static inline void _shctx_wait4lock(unsigned int *count, unsigned int *uaddr, int value)
      |                                                          ~~~~~~~~~~~~~~^~~~~
include/proto/shctx.h:89:83: warning: unused parameter 'value' [-Wunused-parameter]
   89 | static inline void _shctx_wait4lock(unsigned int *count, unsigned int *uaddr, int value)
      |                                                                               ~~~~^~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/xref.h:4,
                 from include/types/hlua.h:10,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
src/cache.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/cache.c:100:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  100 | DECLARE_STATIC_POOL(pool_head_cache_st, "cache_st", sizeof(struct cache_st));
      | ^~~~~~~~~~~~~~~~~~~
src/cache.c: In function 'entry_exist':
src/cache.c:117:20: warning: comparison of integer expressions of different signedness: 'unsigned int' and '__time_t' {aka 'long int'} [-Wsign-compare]
  117 |  if (entry->expire > now.tv_sec) {
      |                    ^
src/cache.c: In function 'cache_store_init':
src/cache.c:140:32: warning: unused parameter 'px' [-Wunused-parameter]
  140 | cache_store_init(struct proxy *px, struct flt_conf *fconf)
      |                  ~~~~~~~~~~~~~~^~
src/cache.c: In function 'cache_store_deinit':
src/cache.c:147:34: warning: unused parameter 'px' [-Wunused-parameter]
  147 | cache_store_deinit(struct proxy *px, struct flt_conf *fconf)
      |                    ~~~~~~~~~~~~~~^~
src/cache.c: In function 'cache_store_chn_start_analyze':
src/cache.c:221:46: warning: unused parameter 's' [-Wunused-parameter]
  221 | cache_store_chn_start_analyze(struct stream *s, struct filter *filter, struct channel *chn)
      |                               ~~~~~~~~~~~~~~~^
src/cache.c: In function 'cache_store_chn_end_analyze':
src/cache.c:245:44: warning: unused parameter 's' [-Wunused-parameter]
  245 | cache_store_chn_end_analyze(struct stream *s, struct filter *filter, struct channel *chn)
      |                             ~~~~~~~~~~~~~~~^
src/cache.c: In function 'cache_store_post_analyze':
src/cache.c:274:83: warning: unused parameter 'chn' [-Wunused-parameter]
  274 | cache_store_post_analyze(struct stream *s, struct filter *filter, struct channel *chn,
      |                                                                   ~~~~~~~~~~~~~~~~^~~
src/cache.c: In function 'cache_store_http_forward_data':
src/cache.c:446:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  446 |  else if (st->hdrs_len >= len) {
      |                        ^~
src/cache.c:489:11: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  489 |  if ((ret != len) ||
      |           ^~
src/cache.c: In function 'cache_store_http_end':
src/cache.c:497:37: warning: unused parameter 's' [-Wunused-parameter]
  497 | cache_store_http_end(struct stream *s, struct filter *filter,
      |                      ~~~~~~~~~~~~~~~^
src/cache.c: In function 'http_action_store_cache':
src/cache.c:803:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  803 |   if (msg->sov > c_size(txn->rsp.chn) - global.tune.maxrewrite)
      |                ^
src/cache.c:673:78: warning: unused parameter 'px' [-Wunused-parameter]
  673 | enum act_return http_action_store_cache(struct act_rule *rule, struct proxy *px,
      |                                                                ~~~~~~~~~~~~~~^~
src/cache.c:674:22: warning: unused parameter 'sess' [-Wunused-parameter]
  674 |      struct session *sess, struct stream *s, int flags)
      |      ~~~~~~~~~~~~~~~~^~~~
src/cache.c:674:50: warning: unused parameter 'flags' [-Wunused-parameter]
  674 |      struct session *sess, struct stream *s, int flags)
      |                                              ~~~~^~~~~
src/cache.c: In function 'htx_cache_dump_blk':
src/cache.c:942:23: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'short int' [-Wsign-compare]
  942 |   if (blksz || offset == shctx->block_size) {
      |                       ^~
src/cache.c: In function 'htx_cache_dump_data_blk':
src/cache.c:990:23: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'short int' [-Wsign-compare]
  990 |   if (blksz || offset == shctx->block_size) {
      |                       ^~
src/cache.c: In function 'http_action_req_cache_use':
src/cache.c:1432:58: warning: unused parameter 'sess' [-Wunused-parameter]
 1432 |                                          struct session *sess, struct stream *s, int flags)
      |                                          ~~~~~~~~~~~~~~~~^~~~
src/cache.c:1432:86: warning: unused parameter 'flags' [-Wunused-parameter]
 1432 |                                          struct session *sess, struct stream *s, int flags)
      |                                                                                  ~~~~^~~~~
src/cache.c: In function 'cfg_parse_cache':
src/cache.c:1509:69: warning: unused parameter 'kwm' [-Wunused-parameter]
 1509 | int cfg_parse_cache(const char *file, int linenum, char **args, int kwm)
      |                                                                 ~~~~^~~
src/cache.c: In function 'parse_cache_flt':
src/cache.c:1763:45: warning: unused parameter 'private' [-Wunused-parameter]
 1763 |   struct flt_conf *fconf, char **err, void *private)
      |                                       ~~~~~~^~~~~~~
src/cache.c: In function 'cli_parse_show_cache':
src/cache.c:1834:40: warning: unused parameter 'args' [-Wunused-parameter]
 1834 | static int cli_parse_show_cache(char **args, char *payload, struct appctx *appctx, void *private)
      |                                 ~~~~~~~^~~~
src/cache.c:1834:52: warning: unused parameter 'payload' [-Wunused-parameter]
 1834 | static int cli_parse_show_cache(char **args, char *payload, struct appctx *appctx, void *private)
      |                                              ~~~~~~^~~~~~~
src/cache.c:1834:90: warning: unused parameter 'private' [-Wunused-parameter]
 1834 | static int cli_parse_show_cache(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                    ~~~~~~^~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/xref.h:4,
                 from include/types/hlua.h:10,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
src/cache.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct flt_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/cache.c:1904:1: note: in expansion of macro 'INITCALL1'
 1904 | INITCALL1(STG_REGISTER, flt_register_keywords, &filter_kws);
      | ^~~~~~~~~
src/cache.c:1907:2: warning: missing initializer for field 'level' of 'struct cli_kw' [-Wmissing-field-initializers]
 1907 |  { { "show", "cache", NULL }, "show cache     : show cache status", cli_parse_show_cache, cli_io_handler_show_cache, NULL, NULL },
      |  ^
In file included from src/cache.c:17:
include/types/cli.h:34:6: note: 'level' declared here
   34 |  int level; /* this is the level needed to show the keyword usage and to use it */
      |      ^~~~~
src/cache.c:1908:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
 1908 |  {{},}
      |  ^
In file included from src/cache.c:17:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/xref.h:4,
                 from include/types/hlua.h:10,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/cache.c:1911:1: note: in expansion of macro 'INITCALL1'
 1911 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
src/cache.c:1915:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 1915 |   { "cache-store", parse_cache_store },
      |   ^
In file included from src/cache.c:16:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/cache.c:1916:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 1916 |   { NULL, NULL }
      |   ^
In file included from src/cache.c:16:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/xref.h:4,
                 from include/types/hlua.h:10,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/cache.c:1920:1: note: in expansion of macro 'INITCALL1'
 1920 | INITCALL1(STG_REGISTER, http_res_keywords_register, &http_res_actions);
      | ^~~~~~~~~
src/cache.c:1924:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 1924 |   { "cache-use", parse_cache_use },
      |   ^
In file included from src/cache.c:16:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/cache.c:1925:3: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 1925 |   { NULL, NULL }
      |   ^
In file included from src/cache.c:16:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/xref.h:4,
                 from include/types/hlua.h:10,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from src/cache.c:16:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/cache.c:1929:1: note: in expansion of macro 'INITCALL1'
 1929 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_actions);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/cache.c:1939:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
 1939 | REGISTER_CONFIG_SECTION("cache", cfg_parse_cache, cfg_post_parse_section_cache);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:152:2: note: in expansion of macro 'INITCALL2'
  152 |  INITCALL2(STG_REGISTER, cfg_register_postparser, (name), (parser))
      |  ^~~~~~~~~
src/cache.c:1940:1: note: in expansion of macro 'REGISTER_CONFIG_POSTPARSER'
 1940 | REGISTER_CONFIG_POSTPARSER("cache", cfg_cache_postparser);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:318:2: note: in expansion of macro 'INITCALL1'
  318 |  INITCALL1(STG_REGISTER, hap_register_post_check, (fct))
      |  ^~~~~~~~~
src/cache.c:1941:1: note: in expansion of macro 'REGISTER_POST_CHECK'
 1941 | REGISTER_POST_CHECK(post_check_cache);
      | ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/acl.o
In file included from include/common/standard.h:36,
                 from src/acl.c:20:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/acl.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/acl.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/acl.c:20:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/acl.c:23:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/acl.c:23:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/acl.c:23:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from include/proto/channel.h:32,
                 from src/acl.c:28:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/acl.c:23:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/acl.c:23:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/acl.c:23:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/acl.c:23:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/acl.c:23:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/acl.c:23:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/acl.c:23:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/acl.c:28:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/acl.c:23:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/acl.c:28:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/acl.c:23:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/acl.c:23:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/acl.c:23:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/acl.c:23:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/acl.c:23:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/acl.c:23:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/acl.c:28:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/acl.c:28:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/acl.c:35:
ebtree/ebsttree.h: In function '__ebst_insert':
ebtree/ebsttree.h:149:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  149 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:176:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  176 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:177:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  177 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:178:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  178 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:179:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  179 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:216:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/acl.c:20:
ebtree/ebsttree.h:262:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  262 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/acl.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from src/acl.c:35:
ebtree/ebsttree.h:278:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  278 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:279:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  279 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:303:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  303 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:319:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  319 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from src/acl.c:18:
src/acl.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct acl_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/acl.c:1359:1: note: in expansion of macro 'INITCALL1'
 1359 | INITCALL1(STG_REGISTER, acl_register_keywords, &acl_kws);
      | ^~~~~~~~~
src/acl.c: In function 'parse_acl_expr':
src/acl.c:644:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
  644 |      value++; /* gt = ge + 1 */
      |      ~~~~~^~
src/acl.c:646:5: note: here
  646 |     case STD_OP_GE:
      |     ^~~~
src/acl.c:656:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
  656 |      value--; /* lt = le - 1 */
      |      ~~~~~^~
src/acl.c:658:5: note: here
  658 |     case STD_OP_LE:
      |     ^~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/listener.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/listener.c:34:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/listener.c:34:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/listener.c: In function 'accept_queue_push_mp':
src/listener.c:138:15: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  138 |  if (addr_len > sizeof(e->addr))
      |               ^
src/listener.c: In function 'accept_queue_process':
src/listener.c:155:88: warning: unused parameter 'state' [-Wunused-parameter]
  155 | static struct task *accept_queue_process(struct task *t, void *context, unsigned short state)
      |                                                                         ~~~~~~~~~~~~~~~^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/listener.c:22:
src/listener.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:152:2: note: in expansion of macro 'INITCALL2'
  152 |  INITCALL2(STG_REGISTER, cfg_register_postparser, (name), (parser))
      |  ^~~~~~~~~
src/listener.c:222:1: note: in expansion of macro 'REGISTER_CONFIG_POSTPARSER'
  222 | REGISTER_CONFIG_POSTPARSER("multi-threaded accept queue", accept_queue_init);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/listener.c: In function 'listener_accept':
src/listener.c:669:18: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  669 |   if (max_accept > max)
      |                  ^
src/listener.c:682:18: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  682 |   if (max_accept > max)
      |                  ^
src/listener.c:695:18: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  695 |   if (max_accept > max)
      |                  ^
src/listener.c:709:18: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  709 |   if (max_accept > max)
      |                  ^
In file included from include/common/config.h:25,
                 from include/common/cfgparse.h:26,
                 from src/listener.c:22:
src/listener.c:730:37: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  730 |    if (unlikely(l->maxconn && count >= l->maxconn)) {
      |                                     ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/listener.c:759:24: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  759 |     if (unlikely(count >= global.maxconn)) {
      |                        ^~
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/listener.c: In function 'listener_queue_process':
src/listener.c:1112:90: warning: unused parameter 'state' [-Wunused-parameter]
 1112 | static struct task *listener_queue_process(struct task *t, void *context, unsigned short state)
      |                                                                           ~~~~~~~~~~~~~~~^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/listener.c:22:
src/listener.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:152:2: note: in expansion of macro 'INITCALL2'
  152 |  INITCALL2(STG_REGISTER, cfg_register_postparser, (name), (parser))
      |  ^~~~~~~~~
src/listener.c:1140:1: note: in expansion of macro 'REGISTER_CONFIG_POSTPARSER'
 1140 | REGISTER_CONFIG_POSTPARSER("multi-threaded listener queue", listener_queue_init);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(void (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:322:2: note: in expansion of macro 'INITCALL1'
  322 |  INITCALL1(STG_REGISTER, hap_register_post_deinit, (fct))
      |  ^~~~~~~~~
src/listener.c:1141:1: note: in expansion of macro 'REGISTER_POST_DEINIT'
 1141 | REGISTER_POST_DEINIT(listener_queue_deinit);
      | ^~~~~~~~~~~~~~~~~~~~
src/listener.c: In function 'smp_fetch_dconn':
src/listener.c:1214:35: warning: unused parameter 'args' [-Wunused-parameter]
 1214 | smp_fetch_dconn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                 ~~~~~~~~~~~~~~~~~~^~~~
src/listener.c:1214:73: warning: unused parameter 'kw' [-Wunused-parameter]
 1214 | smp_fetch_dconn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                             ~~~~~~~~~~~~^~
src/listener.c:1214:83: warning: unused parameter 'private' [-Wunused-parameter]
 1214 | smp_fetch_dconn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/listener.c: In function 'smp_fetch_so_id':
src/listener.c:1223:35: warning: unused parameter 'args' [-Wunused-parameter]
 1223 | smp_fetch_so_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                 ~~~~~~~~~~~~~~~~~~^~~~
src/listener.c:1223:73: warning: unused parameter 'kw' [-Wunused-parameter]
 1223 | smp_fetch_so_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                             ~~~~~~~~~~~~^~
src/listener.c:1223:83: warning: unused parameter 'private' [-Wunused-parameter]
 1223 | smp_fetch_so_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/listener.c: In function 'smp_fetch_so_name':
src/listener.c:1230:37: warning: unused parameter 'args' [-Wunused-parameter]
 1230 | smp_fetch_so_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                   ~~~~~~~~~~~~~~~~~~^~~~
src/listener.c:1230:75: warning: unused parameter 'kw' [-Wunused-parameter]
 1230 | smp_fetch_so_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                               ~~~~~~~~~~~~^~
src/listener.c:1230:85: warning: unused parameter 'private' [-Wunused-parameter]
 1230 | smp_fetch_so_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/listener.c: In function 'bind_parse_accept_proxy':
src/listener.c:1243:43: warning: unused parameter 'args' [-Wunused-parameter]
 1243 | static int bind_parse_accept_proxy(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                    ~~~~~~~^~~~
src/listener.c:1243:53: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 1243 | static int bind_parse_accept_proxy(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                 ~~~~^~~~~~~
src/listener.c:1243:76: warning: unused parameter 'px' [-Wunused-parameter]
 1243 | static int bind_parse_accept_proxy(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                              ~~~~~~~~~~~~~~^~
src/listener.c:1243:111: warning: unused parameter 'err' [-Wunused-parameter]
 1243 | static int bind_parse_accept_proxy(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                                                        ~~~~~~~^~~
src/listener.c: In function 'bind_parse_accept_netscaler_cip':
src/listener.c:1254:84: warning: unused parameter 'px' [-Wunused-parameter]
 1254 | static int bind_parse_accept_netscaler_cip(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                                      ~~~~~~~~~~~~~~^~
src/listener.c: In function 'bind_parse_backlog':
src/listener.c:1279:71: warning: unused parameter 'px' [-Wunused-parameter]
 1279 | static int bind_parse_backlog(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                         ~~~~~~~~~~~~~~^~
src/listener.c: In function 'bind_parse_maxconn':
src/listener.c:1345:71: warning: unused parameter 'px' [-Wunused-parameter]
 1345 | static int bind_parse_maxconn(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                         ~~~~~~~~~~~~~~^~
src/listener.c: In function 'bind_parse_name':
src/listener.c:1368:68: warning: unused parameter 'px' [-Wunused-parameter]
 1368 | static int bind_parse_name(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                      ~~~~~~~~~~~~~~^~
src/listener.c: In function 'bind_parse_nice':
src/listener.c:1384:68: warning: unused parameter 'px' [-Wunused-parameter]
 1384 | static int bind_parse_nice(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                      ~~~~~~~~~~~~~~^~
src/listener.c: In function 'bind_parse_process':
src/listener.c:1407:71: warning: unused parameter 'px' [-Wunused-parameter]
 1407 | static int bind_parse_process(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                         ~~~~~~~~~~~~~~^~
src/listener.c: In function 'bind_parse_proto':
src/listener.c:1434:69: warning: unused parameter 'px' [-Wunused-parameter]
 1434 | static int bind_parse_proto(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                       ~~~~~~~~~~~~~~^~
src/listener.c: In function 'cfg_parse_tune_listener_mq':
src/listener.c:1453:56: warning: unused parameter 'section_type' [-Wunused-parameter]
 1453 | static int cfg_parse_tune_listener_mq(char **args, int section_type, struct proxy *curpx,
      |                                                    ~~~~^~~~~~~~~~~~
src/listener.c:1453:84: warning: unused parameter 'curpx' [-Wunused-parameter]
 1453 | static int cfg_parse_tune_listener_mq(char **args, int section_type, struct proxy *curpx,
      |                                                                      ~~~~~~~~~~~~~~^~~~~
src/listener.c:1454:53: warning: unused parameter 'defpx' [-Wunused-parameter]
 1454 |                                       struct proxy *defpx, const char *file, int line,
      |                                       ~~~~~~~~~~~~~~^~~~~
src/listener.c:1454:72: warning: unused parameter 'file' [-Wunused-parameter]
 1454 |                                       struct proxy *defpx, const char *file, int line,
      |                                                            ~~~~~~~~~~~~^~~~
src/listener.c:1454:82: warning: unused parameter 'line' [-Wunused-parameter]
 1454 |                                       struct proxy *defpx, const char *file, int line,
      |                                                                              ~~~~^~~~
src/listener.c: At top level:
src/listener.c:1475:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1475 |  { "dst_conn", smp_fetch_dconn, 0, NULL, SMP_T_SINT, SMP_USE_FTEND, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/listener.c:1476:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1476 |  { "so_id",    smp_fetch_so_id, 0, NULL, SMP_T_SINT, SMP_USE_FTEND, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/listener.c:1477:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1477 |  { "so_name",  smp_fetch_so_name, 0, NULL, SMP_T_STR, SMP_USE_FTEND, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/listener.c:22:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/common/cfgparse.h:27,
                 from src/listener.c:22:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/listener.c:1481:1: note: in expansion of macro 'INITCALL1'
 1481 | INITCALL1(STG_REGISTER, sample_register_fetches, &smp_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct acl_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/listener.c:1490:1: note: in expansion of macro 'INITCALL1'
 1490 | INITCALL1(STG_REGISTER, acl_register_keywords, &acl_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct bind_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/listener.c:1512:1: note: in expansion of macro 'INITCALL1'
 1512 | INITCALL1(STG_REGISTER, bind_register_keywords, &bind_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/listener.c:1520:1: note: in expansion of macro 'INITCALL1'
 1520 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/proto_uxst.o
In file included from include/common/standard.h:36,
                 from src/proto_uxst.c:35:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/proto_uxst.c:35:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/proto_uxst.c:35:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/proto_uxst.c:35:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/proto_uxst.c:36:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/proto_uxst.c:39:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_uxst.c:39:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/proto_uxst.c:39:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_uxst.c:39:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/proto_uxst.c:41:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/proto_uxst.c:41:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_uxst.c:39:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_uxst.c:39:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_uxst.c:35:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_uxst.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_uxst.c:39:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/proto_uxst.c:41:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/proto_uxst.c:41:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/proto_uxst.c:41:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_uxst.c:31:
src/proto_uxst.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct protocol *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_uxst.c:81:1: note: in expansion of macro 'INITCALL1'
   81 | INITCALL1(STG_REGISTER, protocol_register, &proto_unix);
      | ^~~~~~~~~
src/proto_uxst.c: In function 'uxst_bind_listener':
src/proto_uxst.c:307:37: warning: comparison of integer expressions of different signedness: 'uid_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  307 |      (((listener->bind_conf->ux.uid != -1 || listener->bind_conf->ux.gid != -1) &&
      |                                     ^~
src/proto_uxst.c:307:74: warning: comparison of integer expressions of different signedness: 'gid_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  307 |      (((listener->bind_conf->ux.uid != -1 || listener->bind_conf->ux.gid != -1) &&
      |                                                                          ^~
src/proto_uxst.c: In function 'uxst_add_listener':
src/proto_uxst.c:389:62: warning: unused parameter 'port' [-Wunused-parameter]
  389 | static void uxst_add_listener(struct listener *listener, int port)
      |                                                          ~~~~^~~~
src/proto_uxst.c: In function 'bind_parse_mode':
src/proto_uxst.c:638:68: warning: unused parameter 'px' [-Wunused-parameter]
  638 | static int bind_parse_mode(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                      ~~~~~~~~~~~~~~^~
src/proto_uxst.c: In function 'bind_parse_gid':
src/proto_uxst.c:653:67: warning: unused parameter 'px' [-Wunused-parameter]
  653 | static int bind_parse_gid(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/proto_uxst.c: In function 'bind_parse_group':
src/proto_uxst.c:665:69: warning: unused parameter 'px' [-Wunused-parameter]
  665 | static int bind_parse_group(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                       ~~~~~~~~~~~~~~^~
src/proto_uxst.c: In function 'bind_parse_uid':
src/proto_uxst.c:685:67: warning: unused parameter 'px' [-Wunused-parameter]
  685 | static int bind_parse_uid(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                     ~~~~~~~~~~~~~~^~
src/proto_uxst.c: In function 'bind_parse_user':
src/proto_uxst.c:697:68: warning: unused parameter 'px' [-Wunused-parameter]
  697 | static int bind_parse_user(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
      |                                                      ~~~~~~~~~~~~~~^~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_uxst.c:31:
src/proto_uxst.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct bind_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_uxst.c:732:1: note: in expansion of macro 'INITCALL1'
  732 | INITCALL1(STG_REGISTER, bind_register_keywords, &bind_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/fd.o
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/fd.c:162:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/fd.c:162:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/fd.c:162:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/fd.c:162:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/fd.c:162:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/fd.c:162:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/fd.c:162:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/fd.c:162:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/fd.c:162:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/fd.c:162:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/fd.c:162:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/fd.c:162:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/fd.c:165:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/fd.c:162:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/fd.c:165:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/fd.c:162:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/fd.c:162:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/fd.c:162:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/fd.c:162:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/fd.c:162:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/fd.c:162:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/fd.c:162:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/fd.c:165:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/fd.c: In function 'my_closefrom':
src/fd.c:509:11: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  509 |  if (step > sizeof(poll_events) / sizeof(poll_events[0]))
      |           ^
In file included from include/types/global.h:28,
                 from src/fd.c:162:
src/fd.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:326:2: note: in expansion of macro 'INITCALL1'
  326 |  INITCALL1(STG_REGISTER, hap_register_per_thread_alloc, (fct))
      |  ^~~~~~~~~
src/fd.c:785:1: note: in expansion of macro 'REGISTER_PER_THREAD_ALLOC'
  785 | REGISTER_PER_THREAD_ALLOC(alloc_pollers_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:330:2: note: in expansion of macro 'INITCALL1'
  330 |  INITCALL1(STG_REGISTER, hap_register_per_thread_init, (fct))
      |  ^~~~~~~~~
src/fd.c:786:1: note: in expansion of macro 'REGISTER_PER_THREAD_INIT'
  786 | REGISTER_PER_THREAD_INIT(init_pollers_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(void (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:334:2: note: in expansion of macro 'INITCALL1'
  334 |  INITCALL1(STG_REGISTER, hap_register_per_thread_deinit, (fct))
      |  ^~~~~~~~~
src/fd.c:787:1: note: in expansion of macro 'REGISTER_PER_THREAD_DEINIT'
  787 | REGISTER_PER_THREAD_DEINIT(deinit_pollers_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:338:2: note: in expansion of macro 'INITCALL1'
  338 |  INITCALL1(STG_REGISTER, hap_register_per_thread_free, (fct))
      |  ^~~~~~~~~
src/fd.c:788:1: note: in expansion of macro 'REGISTER_PER_THREAD_FREE'
  788 | REGISTER_PER_THREAD_FREE(free_pollers_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/payload.o
In file included from include/common/standard.h:36,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/htx.h:28,
                 from src/payload.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from src/payload.c:18:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/payload.c:21:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/payload.c:21:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/net_helper.h:31,
                 from src/payload.c:17:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/lb_map.h:26,
                 from include/types/backend.h:32,
                 from include/types/proxy.h:42,
                 from include/types/acl.h:32,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/payload.c:21:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/payload.c:21:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/payload.c:25:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
src/payload.c: In function 'smp_fetch_wait_end':
src/payload.c:36:38: warning: unused parameter 'args' [-Wunused-parameter]
   36 | smp_fetch_wait_end(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                    ~~~~~~~~~~~~~~~~~~^~~~
src/payload.c:36:76: warning: unused parameter 'kw' [-Wunused-parameter]
   36 | smp_fetch_wait_end(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                ~~~~~~~~~~~~^~
src/payload.c:36:86: warning: unused parameter 'private' [-Wunused-parameter]
   36 | smp_fetch_wait_end(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_len':
src/payload.c:49:33: warning: unused parameter 'args' [-Wunused-parameter]
   49 | smp_fetch_len(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |               ~~~~~~~~~~~~~~~~~~^~~~
src/payload.c:49:71: warning: unused parameter 'kw' [-Wunused-parameter]
   49 | smp_fetch_len(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                           ~~~~~~~~~~~~^~
src/payload.c:49:81: warning: unused parameter 'private' [-Wunused-parameter]
   49 | smp_fetch_len(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                           ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_req_ssl_st_ext':
src/payload.c:74:44: warning: unused parameter 'args' [-Wunused-parameter]
   74 | smp_fetch_req_ssl_st_ext(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/payload.c:74:82: warning: unused parameter 'kw' [-Wunused-parameter]
   74 | smp_fetch_req_ssl_st_ext(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/payload.c:74:92: warning: unused parameter 'private' [-Wunused-parameter]
   74 | smp_fetch_req_ssl_st_ext(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_req_ssl_ec_ext':
src/payload.c:204:44: warning: unused parameter 'args' [-Wunused-parameter]
  204 | smp_fetch_req_ssl_ec_ext(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/payload.c:204:82: warning: unused parameter 'kw' [-Wunused-parameter]
  204 | smp_fetch_req_ssl_ec_ext(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/payload.c:204:92: warning: unused parameter 'private' [-Wunused-parameter]
  204 | smp_fetch_req_ssl_ec_ext(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_ssl_hello_type':
src/payload.c:324:44: warning: unused parameter 'args' [-Wunused-parameter]
  324 | smp_fetch_ssl_hello_type(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/payload.c:324:82: warning: unused parameter 'kw' [-Wunused-parameter]
  324 | smp_fetch_ssl_hello_type(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/payload.c:324:92: warning: unused parameter 'private' [-Wunused-parameter]
  324 | smp_fetch_ssl_hello_type(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_req_ssl_ver':
src/payload.c:391:41: warning: unused parameter 'args' [-Wunused-parameter]
  391 | smp_fetch_req_ssl_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                       ~~~~~~~~~~~~~~~~~~^~~~
src/payload.c:391:79: warning: unused parameter 'kw' [-Wunused-parameter]
  391 | smp_fetch_req_ssl_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                   ~~~~~~~~~~~~^~
src/payload.c:391:89: warning: unused parameter 'private' [-Wunused-parameter]
  391 | smp_fetch_req_ssl_ver(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_ssl_hello_sni':
src/payload.c:531:43: warning: unused parameter 'args' [-Wunused-parameter]
  531 | smp_fetch_ssl_hello_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/payload.c:531:81: warning: unused parameter 'kw' [-Wunused-parameter]
  531 | smp_fetch_ssl_hello_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                     ~~~~~~~~~~~~^~
src/payload.c:531:91: warning: unused parameter 'private' [-Wunused-parameter]
  531 | smp_fetch_ssl_hello_sni(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_ssl_hello_alpn':
src/payload.c:697:44: warning: unused parameter 'args' [-Wunused-parameter]
  697 | smp_fetch_ssl_hello_alpn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/payload.c:697:82: warning: unused parameter 'kw' [-Wunused-parameter]
  697 | smp_fetch_ssl_hello_alpn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/payload.c:697:92: warning: unused parameter 'private' [-Wunused-parameter]
  697 | smp_fetch_ssl_hello_alpn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_rdp_cookie':
src/payload.c:927:78: warning: unused parameter 'kw' [-Wunused-parameter]
  927 | smp_fetch_rdp_cookie(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                  ~~~~~~~~~~~~^~
src/payload.c:927:88: warning: unused parameter 'private' [-Wunused-parameter]
  927 | smp_fetch_rdp_cookie(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_payload_lv':
src/payload.c:976:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  976 |  for (i = 0; i < len_size; i++) {
      |                ^
src/payload.c:991:28: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  991 |  if (!buf_size || buf_size > global.tune.bufsize || buf_offset + buf_size > global.tune.bufsize) {
      |                            ^
src/payload.c:991:75: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  991 |  if (!buf_size || buf_size > global.tune.bufsize || buf_offset + buf_size > global.tune.bufsize) {
      |                                                                           ^
src/payload.c:956:79: warning: unused parameter 'kw' [-Wunused-parameter]
  956 | smp_fetch_payload_lv(const struct arg *arg_p, struct sample *smp, const char *kw, void *private)
      |                                                                   ~~~~~~~~~~~~^~
src/payload.c:956:89: warning: unused parameter 'private' [-Wunused-parameter]
  956 | smp_fetch_payload_lv(const struct arg *arg_p, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_payload':
src/payload.c:1023:15: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1023 |  if (buf_size > global.tune.bufsize || buf_offset + buf_size > global.tune.bufsize) {
      |               ^
src/payload.c:1023:62: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1023 |  if (buf_size > global.tune.bufsize || buf_offset + buf_size > global.tune.bufsize) {
      |                                                              ^
src/payload.c:1013:76: warning: unused parameter 'kw' [-Wunused-parameter]
 1013 | smp_fetch_payload(const struct arg *arg_p, struct sample *smp, const char *kw, void *private)
      |                                                                ~~~~~~~~~~~~^~
src/payload.c:1013:86: warning: unused parameter 'private' [-Wunused-parameter]
 1013 | smp_fetch_payload(const struct arg *arg_p, struct sample *smp, const char *kw, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_distcc_param':
src/payload.c:1123:17: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1123 |    if (ofs + 12 <= channel_recv_limit(chn) + b_orig(&chn->buf) - ci_head(chn))
      |                 ^~
src/payload.c:1097:81: warning: unused parameter 'kw' [-Wunused-parameter]
 1097 | smp_fetch_distcc_param(const struct arg *arg_p, struct sample *smp, const char *kw, void *private)
      |                                                                     ~~~~~~~~~~~~^~
src/payload.c:1097:91: warning: unused parameter 'private' [-Wunused-parameter]
 1097 | smp_fetch_distcc_param(const struct arg *arg_p, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/payload.c: In function 'smp_fetch_distcc_body':
src/payload.c:1199:17: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1199 |    if (ofs + 12 <= channel_recv_limit(chn) + b_orig(&chn->buf) - ci_head(chn))
      |                 ^~
src/payload.c:1236:21: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1236 |      if (ofs + body > channel_recv_limit(chn) + b_orig(&chn->buf) - ci_head(chn)) {
      |                     ^
src/payload.c:1174:80: warning: unused parameter 'kw' [-Wunused-parameter]
 1174 | smp_fetch_distcc_body(const struct arg *arg_p, struct sample *smp, const char *kw, void *private)
      |                                                                    ~~~~~~~~~~~~^~
src/payload.c:1174:90: warning: unused parameter 'private' [-Wunused-parameter]
 1174 | smp_fetch_distcc_body(const struct arg *arg_p, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/payload.c: At top level:
src/payload.c:1303:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1303 |  { "distcc_body",         smp_fetch_distcc_body,    ARG2(1,STR,SINT),       val_distcc,     SMP_T_BIN,  SMP_USE_L6REQ|SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1304:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1304 |  { "distcc_param",        smp_fetch_distcc_param,   ARG2(1,STR,SINT),       val_distcc,     SMP_T_SINT, SMP_USE_L6REQ|SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1305:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1305 |  { "payload",             smp_fetch_payload,        ARG2(2,SINT,SINT),      NULL,           SMP_T_BIN,  SMP_USE_L6REQ|SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1306:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1306 |  { "payload_lv",          smp_fetch_payload_lv,     ARG3(2,SINT,SINT,STR),  val_payload_lv, SMP_T_BIN,  SMP_USE_L6REQ|SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1307:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1307 |  { "rdp_cookie",          smp_fetch_rdp_cookie,     ARG1(0,STR),            NULL,           SMP_T_STR,  SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1308:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1308 |  { "rdp_cookie_cnt",      smp_fetch_rdp_cookie_cnt, ARG1(0,STR),            NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1309:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1309 |  { "rep_ssl_hello_type",  smp_fetch_ssl_hello_type, 0,                      NULL,           SMP_T_SINT, SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1310:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1310 |  { "req_len",             smp_fetch_len,            0,                      NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1311:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1311 |  { "req_ssl_hello_type",  smp_fetch_ssl_hello_type, 0,                      NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1312:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1312 |  { "req_ssl_sni",         smp_fetch_ssl_hello_sni,  0,                      NULL,           SMP_T_STR,  SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1313:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1313 |  { "req_ssl_ver",         smp_fetch_req_ssl_ver,    0,                      NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1315:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1315 |  { "req.len",             smp_fetch_len,            0,                      NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1316:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1316 |  { "req.payload",         smp_fetch_payload,        ARG2(2,SINT,SINT),      NULL,           SMP_T_BIN,  SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1317:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1317 |  { "req.payload_lv",      smp_fetch_payload_lv,     ARG3(2,SINT,SINT,STR),  val_payload_lv, SMP_T_BIN,  SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1318:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1318 |  { "req.rdp_cookie",      smp_fetch_rdp_cookie,     ARG1(0,STR),            NULL,           SMP_T_STR,  SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1319:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1319 |  { "req.rdp_cookie_cnt",  smp_fetch_rdp_cookie_cnt, ARG1(0,STR),            NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1320:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1320 |  { "req.ssl_ec_ext",      smp_fetch_req_ssl_ec_ext, 0,                      NULL,           SMP_T_BOOL, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1321:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1321 |  { "req.ssl_st_ext",      smp_fetch_req_ssl_st_ext, 0,                      NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1322:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1322 |  { "req.ssl_hello_type",  smp_fetch_ssl_hello_type, 0,                      NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1323:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1323 |  { "req.ssl_sni",         smp_fetch_ssl_hello_sni,  0,                      NULL,           SMP_T_STR,  SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1324:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1324 |  { "req.ssl_alpn",        smp_fetch_ssl_hello_alpn, 0,                      NULL,           SMP_T_STR,  SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1325:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1325 |  { "req.ssl_ver",         smp_fetch_req_ssl_ver,    0,                      NULL,           SMP_T_SINT, SMP_USE_L6REQ },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1326:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1326 |  { "res.len",             smp_fetch_len,            0,                      NULL,           SMP_T_SINT, SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1327:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1327 |  { "res.payload",         smp_fetch_payload,        ARG2(2,SINT,SINT),      NULL,           SMP_T_BIN,  SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1328:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1328 |  { "res.payload_lv",      smp_fetch_payload_lv,     ARG3(2,SINT,SINT,STR),  val_payload_lv, SMP_T_BIN,  SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1329:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1329 |  { "res.ssl_hello_type",  smp_fetch_ssl_hello_type, 0,                      NULL,           SMP_T_SINT, SMP_USE_L6RES },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/payload.c:1330:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1330 |  { "wait_end",            smp_fetch_wait_end,       0,                      NULL,           SMP_T_BOOL, SMP_USE_INTRN },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from src/payload.c:16:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/payload.c:1334:1: note: in expansion of macro 'INITCALL1'
 1334 | INITCALL1(STG_REGISTER, sample_register_fetches, &smp_kws);
      | ^~~~~~~~~
src/payload.c:1340:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
 1340 |  { "payload",            "req.payload",        PAT_MATCH_BIN },
      |  ^
In file included from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/payload.c:1341:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
 1341 |  { "payload_lv",         "req.payload_lv",     PAT_MATCH_BIN },
      |  ^
In file included from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/payload.c:1342:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
 1342 |  { "req_rdp_cookie",     "req.rdp_cookie",     PAT_MATCH_STR },
      |  ^
In file included from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/payload.c:1343:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
 1343 |  { "req_rdp_cookie_cnt", "req.rdp_cookie_cnt", PAT_MATCH_INT },
      |  ^
In file included from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/payload.c:1344:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
 1344 |  { "req_ssl_sni",        "req.ssl_sni",        PAT_MATCH_STR },
      |  ^
In file included from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/payload.c:1345:2: warning: missing initializer for field 'index' of 'struct acl_keyword' [-Wmissing-field-initializers]
 1345 |  { "req_ssl_ver",        "req.ssl_ver",        PAT_MATCH_INT, pat_parse_dotted_ver },
      |  ^
In file included from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/acl.h:96:8: note: 'index' declared here
   96 |  int (*index)(struct pattern_expr *expr, struct pattern *pattern, char **err);
      |        ^~~~~
src/payload.c:1346:2: warning: missing initializer for field 'index' of 'struct acl_keyword' [-Wmissing-field-initializers]
 1346 |  { "req.ssl_ver",        "req.ssl_ver",        PAT_MATCH_INT, pat_parse_dotted_ver },
      |  ^
In file included from include/proto/acl.h:26,
                 from src/payload.c:19:
include/types/acl.h:96:8: note: 'index' declared here
   96 |  int (*index)(struct pattern_expr *expr, struct pattern *pattern, char **err);
      |        ^~~~~
In file included from src/payload.c:16:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct acl_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/payload.c:1350:1: note: in expansion of macro 'INITCALL1'
 1350 | INITCALL1(STG_REGISTER, acl_register_keywords, &acl_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/map.o
In file included from include/common/standard.h:36,
                 from src/map.c:17:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/map.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/map.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/map.c:17:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from src/map.c:19:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from src/map.c:19:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/map.c:17:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/map.c:19:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/map.c:26:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/map.c:26:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/map.c:26:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/map.c:32:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/map.c:32:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/map.c: In function 'cli_parse_get_map':
src/map.c:591:49: warning: unused parameter 'payload' [-Wunused-parameter]
  591 | static int cli_parse_get_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                           ~~~~~~^~~~~~~
src/map.c:591:87: warning: unused parameter 'private' [-Wunused-parameter]
  591 | static int cli_parse_get_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/map.c: In function 'cli_parse_show_map':
src/map.c:658:50: warning: unused parameter 'payload' [-Wunused-parameter]
  658 | static int cli_parse_show_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                            ~~~~~~^~~~~~~
src/map.c:658:88: warning: unused parameter 'private' [-Wunused-parameter]
  658 | static int cli_parse_show_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                  ~~~~~~^~~~~~~
src/map.c: In function 'cli_parse_set_map':
src/map.c:698:49: warning: unused parameter 'payload' [-Wunused-parameter]
  698 | static int cli_parse_set_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                           ~~~~~~^~~~~~~
src/map.c:698:87: warning: unused parameter 'private' [-Wunused-parameter]
  698 | static int cli_parse_set_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/map.c: In function 'cli_parse_add_map':
src/map.c:812:87: warning: unused parameter 'private' [-Wunused-parameter]
  812 | static int cli_parse_add_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/map.c: In function 'cli_parse_del_map':
src/map.c:948:49: warning: unused parameter 'payload' [-Wunused-parameter]
  948 | static int cli_parse_del_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                           ~~~~~~^~~~~~~
src/map.c:948:87: warning: unused parameter 'private' [-Wunused-parameter]
  948 | static int cli_parse_del_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                 ~~~~~~^~~~~~~
src/map.c: In function 'cli_parse_clear_map':
src/map.c:1044:51: warning: unused parameter 'payload' [-Wunused-parameter]
 1044 | static int cli_parse_clear_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                             ~~~~~~^~~~~~~
src/map.c:1044:89: warning: unused parameter 'private' [-Wunused-parameter]
 1044 | static int cli_parse_clear_map(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/map.c: At top level:
src/map.c:1098:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1098 |  { { "add",   "acl", NULL }, "add acl        : add acl entry", cli_parse_add_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1099:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1099 |  { { "clear", "acl", NULL }, "clear acl <id> : clear the content of this acl", cli_parse_clear_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1100:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1100 |  { { "del",   "acl", NULL }, "del acl        : delete acl entry", cli_parse_del_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1101:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 1101 |  { { "get",   "acl", NULL }, "get acl        : report the patterns matching a sample for an ACL", cli_parse_get_map, cli_io_handler_map_lookup, cli_release_mlook },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/map.c:1102:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1102 |  { { "show",  "acl", NULL }, "show acl [id]  : report available acls or dump an acl's contents", cli_parse_show_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1103:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1103 |  { { "add",   "map", NULL }, "add map        : add map entry", cli_parse_add_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1104:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1104 |  { { "clear", "map", NULL }, "clear map <id> : clear the content of this map", cli_parse_clear_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1105:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1105 |  { { "del",   "map", NULL }, "del map        : delete map entry", cli_parse_del_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1106:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
 1106 |  { { "get",   "map", NULL }, "get map        : report the keys and values matching a sample for a map", cli_parse_get_map, cli_io_handler_map_lookup, cli_release_mlook },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/map.c:1107:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1107 |  { { "set",   "map", NULL }, "set map        : modify map entry", cli_parse_set_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1108:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1108 |  { { "show",  "map", NULL }, "show map [id]  : report available maps or dump a map's contents", cli_parse_show_map, NULL },
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/map.c:1109:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
 1109 |  { { NULL }, NULL, NULL, NULL }
      |  ^
In file included from src/map.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
In file included from src/map.c:16:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/map.c:1112:1: note: in expansion of macro 'INITCALL1'
 1112 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_conv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/map.c:1166:1: note: in expansion of macro 'INITCALL1'
 1166 | INITCALL1(STG_REGISTER, sample_register_convs, &sample_conv_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/connection.o
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/standard.h:36,
                 from include/common/net_helper.h:31,
                 from src/connection.c:20:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/net_helper.h:31,
                 from src/connection.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/net_helper.h:31,
                 from src/connection.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/net_helper.h:31,
                 from src/connection.c:20:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/connection.h:26,
                 from src/connection.c:22:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/fd.h:32,
                 from include/proto/connection.h:30,
                 from src/connection.c:22:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from src/connection.c:18:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/connection.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/connection.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/connection.c:22:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/connection.c:22:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/connection.c:26:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/connection.c:26:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/connection.c:17:
src/connection.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/connection.c:32:1: note: in expansion of macro 'DECLARE_POOL'
   32 | DECLARE_POOL(pool_head_connection, "connection",  sizeof(struct connection));
      | ^~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/connection.c:33:1: note: in expansion of macro 'DECLARE_POOL'
   33 | DECLARE_POOL(pool_head_connstream, "conn_stream", sizeof(struct conn_stream));
      | ^~~~~~~~~~~~
src/connection.c: In function 'conn_unsubscribe':
src/connection.c:241:53: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
  241 | int conn_unsubscribe(struct connection *conn, void *xprt_ctx, int event_type, void *param)
      |                                               ~~~~~~^~~~~~~~
src/connection.c: In function 'conn_subscribe':
src/connection.c:263:51: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
  263 | int conn_subscribe(struct connection *conn, void *xprt_ctx, int event_type, void *param)
      |                                             ~~~~~~^~~~~~~~
src/connection.c: In function 'conn_recv_proxy':
src/connection.c:605:21: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  605 |   while (tlv_offset < total_v2_len) {
      |                     ^
src/connection.c:610:37: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  610 |    if (tlv_offset + TLV_HEADER_SIZE > total_v2_len)
      |                                     ^
src/connection.c:618:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  618 |    if (tlv_offset > total_v2_len)
      |                   ^
src/connection.c:656:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  656 |   if (tlv_offset != total_v2_len)
      |                  ^~
src/connection.c:680:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  680 |   if (len2 != trash.data)
      |            ^~
src/connection.c: In function 'conn_recv_netscaler_cip':
src/connection.c:881:12: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  881 |   if (len2 != trash.data)
      |            ^~
src/connection.c: In function 'make_tlv':
src/connection.c:1213:38: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1213 |  if (!dest || (length + sizeof(*tlv) > dest_len))
      |                                      ^
src/connection.c: In function 'make_proxy_line_v2':
src/connection.c:1310:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1310 |   if ((buf_len - ret) < sizeof(struct tlv))
      |                       ^
src/connection.c:1317:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1317 |   if ((buf_len - ret) < sizeof(struct tlv))
      |                       ^
src/connection.c:1326:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1326 |    if ((buf_len - ret) < sizeof(struct tlv))
      |                        ^
src/connection.c:1335:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1335 |   if ((buf_len - ret) < sizeof(struct tlv_ssl))
      |                       ^
src/connection.c:1390:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1390 |   if ((buf_len - ret) < sizeof(struct tlv))
      |                       ^
src/connection.c: In function 'smp_fetch_fc_http_major':
src/connection.c:1409:43: warning: unused parameter 'args' [-Wunused-parameter]
 1409 | smp_fetch_fc_http_major(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                         ~~~~~~~~~~~~~~~~~~^~~~
src/connection.c:1409:91: warning: unused parameter 'private' [-Wunused-parameter]
 1409 | smp_fetch_fc_http_major(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                     ~~~~~~^~~~~~~
src/connection.c: In function 'smp_fetch_fc_rcvd_proxy':
src/connection.c:1420:47: warning: unused parameter 'args' [-Wunused-parameter]
 1420 | int smp_fetch_fc_rcvd_proxy(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                             ~~~~~~~~~~~~~~~~~~^~~~
src/connection.c:1420:85: warning: unused parameter 'kw' [-Wunused-parameter]
 1420 | int smp_fetch_fc_rcvd_proxy(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                         ~~~~~~~~~~~~^~
src/connection.c:1420:95: warning: unused parameter 'private' [-Wunused-parameter]
 1420 | int smp_fetch_fc_rcvd_proxy(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                         ~~~~~~^~~~~~~
src/connection.c: At top level:
src/connection.c:1446:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1446 |  { "fc_http_major", smp_fetch_fc_http_major, 0, NULL, SMP_T_SINT, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/connection.c:1447:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1447 |  { "bc_http_major", smp_fetch_fc_http_major, 0, NULL, SMP_T_SINT, SMP_USE_L4SRV },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/connection.c:1448:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
 1448 |  { "fc_rcvd_proxy", smp_fetch_fc_rcvd_proxy, 0, NULL, SMP_T_BOOL, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/connection.c:22:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from src/connection.c:17:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/connection.c:1452:1: note: in expansion of macro 'INITCALL1'
 1452 | INITCALL1(STG_REGISTER, sample_register_fetches, &sample_fetch_keywords);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/queue.o
In file included from include/common/standard.h:36,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from src/queue.c:75:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/queue.c:75:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/channel.h:32,
                 from include/proto/proto_http.h:29,
                 from src/queue.c:80:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from src/queue.c:75:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from include/proto/proto_http.h:29,
                 from src/queue.c:80:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/proto_http.h:29,
                 from src/queue.c:80:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/queue.c:80:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from src/queue.c:83:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/queue.c:85:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from src/queue.c:73:
src/queue.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/queue.c:96:1: note: in expansion of macro 'DECLARE_POOL'
   96 | DECLARE_POOL(pool_head_pendconn, "pendconn", sizeof(struct pendconn));
      | ^~~~~~~~~~~~
src/queue.c: In function 'pendconn_add':
src/queue.c:374:19: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  374 |   if (srv->nbpend > srv->counters.nbpend_max)
      |                   ^
src/queue.c:381:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  381 |   if (px->nbpend > px->be_counters.nbpend_max)
      |                  ^
src/queue.c: In function 'action_set_priority_class':
src/queue.c:515:94: warning: unused parameter 'flags' [-Wunused-parameter]
  515 |                                                  struct session *sess, struct stream *s, int flags)
      |                                                                                          ~~~~^~~~~
src/queue.c: In function 'action_set_priority_offset':
src/queue.c:528:95: warning: unused parameter 'flags' [-Wunused-parameter]
  528 |                                                   struct session *sess, struct stream *s, int flags)
      |                                                                                           ~~~~^~~~~
src/queue.c: At top level:
src/queue.c:598:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  598 |  { "set-priority-class", parse_set_priority_class },
      |  ^
In file included from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/queue.c:599:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  599 |  { "set-priority-offset", parse_set_priority_offset },
      |  ^
In file included from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from src/queue.c:73:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/queue.c:603:1: note: in expansion of macro 'INITCALL1'
  603 | INITCALL1(STG_REGISTER, tcp_req_cont_keywords_register, &tcp_cont_kws);
      | ^~~~~~~~~
src/queue.c:606:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  606 |  { "set-priority-class", parse_set_priority_class },
      |  ^
In file included from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
src/queue.c:607:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
  607 |  { "set-priority-offset", parse_set_priority_offset },
      |  ^
In file included from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from src/queue.c:73:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/queue.c:611:1: note: in expansion of macro 'INITCALL1'
  611 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_kws);
      | ^~~~~~~~~
src/queue.c: In function 'smp_fetch_priority_class':
src/queue.c:614:44: warning: unused parameter 'args' [-Wunused-parameter]
  614 | smp_fetch_priority_class(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                          ~~~~~~~~~~~~~~~~~~^~~~
src/queue.c:614:82: warning: unused parameter 'kw' [-Wunused-parameter]
  614 | smp_fetch_priority_class(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/queue.c:614:92: warning: unused parameter 'private' [-Wunused-parameter]
  614 | smp_fetch_priority_class(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/queue.c: In function 'smp_fetch_priority_offset':
src/queue.c:626:45: warning: unused parameter 'args' [-Wunused-parameter]
  626 | smp_fetch_priority_offset(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                           ~~~~~~~~~~~~~~~~~~^~~~
src/queue.c:626:83: warning: unused parameter 'kw' [-Wunused-parameter]
  626 | smp_fetch_priority_offset(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                       ~~~~~~~~~~~~^~
src/queue.c:626:93: warning: unused parameter 'private' [-Wunused-parameter]
  626 | smp_fetch_priority_offset(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                       ~~~~~~^~~~~~~
src/queue.c: At top level:
src/queue.c:639:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  639 |  { "prio_class", smp_fetch_priority_class, 0, NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/queue.c:640:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  640 |  { "prio_offset", smp_fetch_priority_offset, 0, NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/http_rules.h:27,
                 from src/queue.c:79:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from src/queue.c:73:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/queue.c:644:1: note: in expansion of macro 'INITCALL1'
  644 | INITCALL1(STG_REGISTER, sample_register_fetches, &smp_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/lb_chash.o
In file included from include/common/standard.h:36,
                 from src/lb_chash.c:22:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/lb_chash.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/lb_chash.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/lb_chash.c:22:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/lb_chash.c:22:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_chash.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/lb_chash.c:25:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_chash.c:25:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_chash.c:25:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from src/lb_chash.c:29:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/lb_chash.c: In function 'chash_server_is_eligible':
src/lb_chash.c:313:19: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  313 |  return s->served < slots;
      |                   ^
src/lb_chash.c: In function 'chash_get_next_server':
src/lb_chash.c:446:47: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  446 |   if (!s->maxconn || (!s->nbpend && s->served < srv_dynamic_maxconn(s))) {
      |                                               ^
src/lb_chash.c: In function 'chash_init_server_tree':
src/lb_chash.c:502:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  502 |   for (node = 0; node < srv->lb_nodes_tot; node++) {
      |                       ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/flt_trace.o
In file included from include/common/htx.h:28,
                 from src/flt_trace.c:16:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/standard.h:36,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/flt_trace.c:16:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/flt_trace.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from src/flt_trace.c:22:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/flt_trace.c:24:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/flt_trace.c:24:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from include/proto/filters.h:30,
                 from src/flt_trace.c:28:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from include/proto/filters.h:30,
                 from src/flt_trace.c:28:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/flt_trace.c:24:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/flt_trace.c:24:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/flt_trace.c:16:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/flt_trace.c:24:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/flt_trace.c:24:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from include/proto/filters.h:30,
                 from src/flt_trace.c:28:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/filters.h:30,
                 from src/flt_trace.c:28:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/flt_trace.c:32:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
src/flt_trace.c: In function 'trace_hexdump':
src/flt_trace.c:94:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   94 |  for (i = 0; i < ist.len + padding; i++) {
      |                ^
src/flt_trace.c:100:23: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  100 |                 if (i < ist.len)
      |                       ^
src/flt_trace.c:108:53: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  108 |                         for(j = i - 15; j <= i && j < ist.len; j++)
      |                                                     ^
src/flt_trace.c: In function 'trace_raw_hexdump':
src/flt_trace.c:122:13: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  122 |  if (block1 > b_contig_data(buf, out))
      |             ^
src/flt_trace.c: In function 'trace_deinit':
src/flt_trace.c:185:28: warning: unused parameter 'px' [-Wunused-parameter]
  185 | trace_deinit(struct proxy *px, struct flt_conf *fconf)
      |              ~~~~~~~~~~~~~~^~
src/flt_trace.c: In function 'trace_check':
src/flt_trace.c:200:27: warning: unused parameter 'px' [-Wunused-parameter]
  200 | trace_check(struct proxy *px, struct flt_conf *fconf)
      |             ~~~~~~~~~~~~~~^~
src/flt_trace.c:200:48: warning: unused parameter 'fconf' [-Wunused-parameter]
  200 | trace_check(struct proxy *px, struct flt_conf *fconf)
      |                               ~~~~~~~~~~~~~~~~~^~~~~
src/flt_trace.c: In function 'trace_init_per_thread':
src/flt_trace.c:207:37: warning: unused parameter 'px' [-Wunused-parameter]
  207 | trace_init_per_thread(struct proxy *px, struct flt_conf *fconf)
      |                       ~~~~~~~~~~~~~~^~
src/flt_trace.c: In function 'trace_deinit_per_thread':
src/flt_trace.c:217:39: warning: unused parameter 'px' [-Wunused-parameter]
  217 | trace_deinit_per_thread(struct proxy *px, struct flt_conf *fconf)
      |                         ~~~~~~~~~~~~~~^~
src/flt_trace.c: In function 'trace_http_payload':
src/flt_trace.c:491:20: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  491 |    if (!ret || ret >= data)
      |                    ^~
src/flt_trace.c:505:11: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  505 |   if (ret != len)
      |           ^~
src/flt_trace.c: In function 'trace_http_reply':
src/flt_trace.c:568:65: warning: unused parameter 'status' [-Wunused-parameter]
  568 | trace_http_reply(struct stream *s, struct filter *filter, short status,
      |                                                           ~~~~~~^~~~~~
src/flt_trace.c:569:25: warning: unused parameter 'msg' [-Wunused-parameter]
  569 |    const struct buffer *msg)
      |    ~~~~~~~~~~~~~~~~~~~~~^~~
src/flt_trace.c: In function 'trace_http_forward_data':
src/flt_trace.c:599:11: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  599 |  if ((ret != len) ||
      |           ^~
src/flt_trace.c: In function 'trace_tcp_forward_data':
src/flt_trace.c:649:10: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  649 |  if (ret != len)
      |          ^~
src/flt_trace.c: In function 'parse_trace_flt':
src/flt_trace.c:699:59: warning: unused parameter 'private' [-Wunused-parameter]
  699 |                 struct flt_conf *fconf, char **err, void *private)
      |                                                     ~~~~~~^~~~~~~
In file included from include/common/hathreads.h:32,
                 from src/flt_trace.c:15:
src/flt_trace.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct flt_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/flt_trace.c:760:1: note: in expansion of macro 'INITCALL1'
  760 | INITCALL1(STG_REGISTER, flt_register_keywords, &flt_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/applet.o
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/buffer.h:30,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/applet.h:29,
                 from src/applet.c:18:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/applet.c:18:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/applet.c:18:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/applet.c:18:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from src/applet.c:19:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/applet.c:19:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/applet.c: In function 'task_run_applet':
src/applet.c:59:76: warning: unused parameter 'state' [-Wunused-parameter]
   59 | struct task *task_run_applet(struct task *t, void *context, unsigned short state)
      |                                                             ~~~~~~~~~~~~~~~^~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/frontend.o
In file included from src/frontend.c:25:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/frontend.c:30:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/frontend.c:30:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/frontend.c:30:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/frontend.c:31:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from include/proto/channel.h:32,
                 from src/frontend.c:37:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/frontend.c:37:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/frontend.c:37:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/frontend.c:30:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/frontend.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/frontend.c:37:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/frontend.c:37:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/frontend.c:43:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/frontend.c:47:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/frontend.c:47:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/frontend.c: In function 'smp_fetch_fe_id':
src/frontend.c:176:35: warning: unused parameter 'args' [-Wunused-parameter]
  176 | smp_fetch_fe_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                 ~~~~~~~~~~~~~~~~~~^~~~
src/frontend.c:176:73: warning: unused parameter 'kw' [-Wunused-parameter]
  176 | smp_fetch_fe_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                             ~~~~~~~~~~~~^~
src/frontend.c:176:83: warning: unused parameter 'private' [-Wunused-parameter]
  176 | smp_fetch_fe_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/frontend.c: In function 'smp_fetch_fe_name':
src/frontend.c:186:37: warning: unused parameter 'args' [-Wunused-parameter]
  186 | smp_fetch_fe_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                   ~~~~~~~~~~~~~~~~~~^~~~
src/frontend.c:186:75: warning: unused parameter 'kw' [-Wunused-parameter]
  186 | smp_fetch_fe_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                               ~~~~~~~~~~~~^~
src/frontend.c:186:85: warning: unused parameter 'private' [-Wunused-parameter]
  186 | smp_fetch_fe_name(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/frontend.c: In function 'smp_fetch_fe_defbe':
src/frontend.c:200:38: warning: unused parameter 'args' [-Wunused-parameter]
  200 | smp_fetch_fe_defbe(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                    ~~~~~~~~~~~~~~~~~~^~~~
src/frontend.c:200:76: warning: unused parameter 'kw' [-Wunused-parameter]
  200 | smp_fetch_fe_defbe(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                ~~~~~~~~~~~~^~
src/frontend.c:200:86: warning: unused parameter 'private' [-Wunused-parameter]
  200 | smp_fetch_fe_defbe(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/frontend.c: In function 'smp_fetch_fe_req_rate':
src/frontend.c:219:79: warning: unused parameter 'kw' [-Wunused-parameter]
  219 | smp_fetch_fe_req_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                   ~~~~~~~~~~~~^~
src/frontend.c:219:89: warning: unused parameter 'private' [-Wunused-parameter]
  219 | smp_fetch_fe_req_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                   ~~~~~~^~~~~~~
src/frontend.c: In function 'smp_fetch_fe_sess_rate':
src/frontend.c:232:80: warning: unused parameter 'kw' [-Wunused-parameter]
  232 | smp_fetch_fe_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                    ~~~~~~~~~~~~^~
src/frontend.c:232:90: warning: unused parameter 'private' [-Wunused-parameter]
  232 | smp_fetch_fe_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                    ~~~~~~^~~~~~~
src/frontend.c: In function 'smp_fetch_fe_conn':
src/frontend.c:245:75: warning: unused parameter 'kw' [-Wunused-parameter]
  245 | smp_fetch_fe_conn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                               ~~~~~~~~~~~~^~
src/frontend.c:245:85: warning: unused parameter 'private' [-Wunused-parameter]
  245 | smp_fetch_fe_conn(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                               ~~~~~~^~~~~~~
src/frontend.c: At top level:
src/frontend.c:258:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  258 |  { "fe_conn",      smp_fetch_fe_conn,      ARG1(1,FE), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/frontend.c:259:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  259 |  { "fe_defbe",     smp_fetch_fe_defbe,     0,          NULL, SMP_T_STR,  SMP_USE_FTEND, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/frontend.c:260:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  260 |  { "fe_id",        smp_fetch_fe_id,        0,          NULL, SMP_T_SINT, SMP_USE_FTEND, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/frontend.c:261:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  261 |  { "fe_name",      smp_fetch_fe_name,      0,          NULL, SMP_T_STR,  SMP_USE_FTEND, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/frontend.c:262:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  262 |  { "fe_req_rate",  smp_fetch_fe_req_rate,  ARG1(1,FE), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
src/frontend.c:263:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  263 |  { "fe_sess_rate", smp_fetch_fe_sess_rate, ARG1(1,FE), NULL, SMP_T_SINT, SMP_USE_INTRN, },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/frontend.c:33:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/frontend.c:25:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/frontend.c:267:1: note: in expansion of macro 'INITCALL1'
  267 | INITCALL1(STG_REGISTER, sample_register_fetches, &smp_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct acl_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/frontend.c:276:1: note: in expansion of macro 'INITCALL1'
  276 | INITCALL1(STG_REGISTER, acl_register_keywords, &acl_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/mux_pt.o
In file included from include/proto/connection.h:26,
                 from src/mux_pt.c:15:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/standard.h:36,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/fd.h:32,
                 from include/proto/connection.h:30,
                 from src/mux_pt.c:15:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/mux_pt.c:15:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/mux_pt.c:15:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/mux_pt.c:15:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/mux_pt.c:15:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/mux_pt.c:15:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/mux_pt.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/mux_pt.c:15:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/mux_pt.c:15:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/mux_pt.c:15:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/mux_pt.c:15:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from src/mux_pt.c:14:
src/mux_pt.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/mux_pt.c:25:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   25 | DECLARE_STATIC_POOL(pool_head_pt_ctx, "mux_pt", sizeof(struct mux_pt_ctx));
      | ^~~~~~~~~~~~~~~~~~~
src/mux_pt.c: In function 'mux_pt_io_cb':
src/mux_pt.c:49:47: warning: unused parameter 't' [-Wunused-parameter]
   49 | static struct task *mux_pt_io_cb(struct task *t, void *tctx, unsigned short status)
      |                                  ~~~~~~~~~~~~~^
src/mux_pt.c:49:77: warning: unused parameter 'status' [-Wunused-parameter]
   49 | static struct task *mux_pt_io_cb(struct task *t, void *tctx, unsigned short status)
      |                                                              ~~~~~~~~~~~~~~~^~~~~~
src/mux_pt.c: In function 'mux_pt_init':
src/mux_pt.c:85:63: warning: unused parameter 'prx' [-Wunused-parameter]
   85 | static int mux_pt_init(struct connection *conn, struct proxy *prx, struct session *sess,
      |                                                 ~~~~~~~~~~~~~~^~~
src/mux_pt.c:85:84: warning: unused parameter 'sess' [-Wunused-parameter]
   85 | static int mux_pt_init(struct connection *conn, struct proxy *prx, struct session *sess,
      |                                                                    ~~~~~~~~~~~~~~~~^~~~
src/mux_pt.c:86:25: warning: unused parameter 'input' [-Wunused-parameter]
   86 |          struct buffer *input)
      |          ~~~~~~~~~~~~~~~^~~~~
src/mux_pt.c: In function 'mux_pt_attach':
src/mux_pt.c:163:83: warning: unused parameter 'sess' [-Wunused-parameter]
  163 | static struct conn_stream *mux_pt_attach(struct connection *conn, struct session *sess)
      |                                                                   ~~~~~~~~~~~~~~~~^~~~
src/mux_pt.c: In function 'mux_pt_ctl':
src/mux_pt.c:338:81: warning: unused parameter 'output' [-Wunused-parameter]
  338 | static int mux_pt_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
      |                                                                           ~~~~~~^~~~~~
In file included from src/mux_pt.c:14:
src/mux_pt.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct mux_proto_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/mux_pt.c:380:1: note: in expansion of macro 'INITCALL1'
  380 | INITCALL1(STG_REGISTER, register_mux_proto, &mux_proto_pt);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/vars.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from include/proto/proto_http.h:29,
                 from src/vars.c:12:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/proto_http.h:29,
                 from src/vars.c:12:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/vars.c:12:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
In file included from include/common/cfgparse.h:27,
                 from src/vars.c:3:
src/vars.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/vars.c:19:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   19 | DECLARE_STATIC_POOL(var_pool, "vars", sizeof(struct var));
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:270:2: note: in expansion of macro 'INITCALL1'
  270 |  INITCALL1(STG_LOCK, ha_rwlock_init, &(lock))
      |  ^~~~~~~~~
src/vars.c:37:1: note: in expansion of macro '__decl_rwlock'
   37 | __decl_rwlock(var_names_rwlock);
      | ^~~~~~~~~~~~~
src/vars.c: In function 'smp_fetch_var':
src/vars.c:304:82: warning: unused parameter 'kw' [-Wunused-parameter]
  304 | static int smp_fetch_var(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                      ~~~~~~~~~~~~^~
src/vars.c:304:92: warning: unused parameter 'private' [-Wunused-parameter]
  304 | static int smp_fetch_var(const struct arg *args, struct sample *smp, const char *kw, void *private)
      |                                                                                      ~~~~~~^~~~~~~
src/vars.c: In function 'smp_conv_store':
src/vars.c:469:77: warning: unused parameter 'private' [-Wunused-parameter]
  469 | static int smp_conv_store(const struct arg *args, struct sample *smp, void *private)
      |                                                                       ~~~~~~^~~~~~~
src/vars.c: In function 'smp_conv_clear':
src/vars.c:475:77: warning: unused parameter 'private' [-Wunused-parameter]
  475 | static int smp_conv_clear(const struct arg *args, struct sample *smp, void *private)
      |                                                                       ~~~~~~^~~~~~~
src/vars.c: In function 'action_store':
src/vars.c:634:81: warning: unused parameter 'flags' [-Wunused-parameter]
  634 |                                     struct session *sess, struct stream *s, int flags)
      |                                                                             ~~~~^~~~~
src/vars.c: In function 'action_clear':
src/vars.c:665:81: warning: unused parameter 'flags' [-Wunused-parameter]
  665 |                                     struct session *sess, struct stream *s, int flags)
      |                                                                             ~~~~^~~~~
src/vars.c: In function 'conv_check_var':
src/vars.c:690:65: warning: unused parameter 'conv' [-Wunused-parameter]
  690 | static int conv_check_var(struct arg *args, struct sample_conv *conv,
      |                                             ~~~~~~~~~~~~~~~~~~~~^~~~
src/vars.c:691:39: warning: unused parameter 'file' [-Wunused-parameter]
  691 |                           const char *file, int line, char **err_msg)
      |                           ~~~~~~~~~~~~^~~~
src/vars.c:691:49: warning: unused parameter 'line' [-Wunused-parameter]
  691 |                           const char *file, int line, char **err_msg)
      |                                             ~~~~^~~~
src/vars.c: In function 'vars_max_size':
src/vars.c:781:43: warning: unused parameter 'section_type' [-Wunused-parameter]
  781 | static int vars_max_size(char **args, int section_type, struct proxy *curpx,
      |                                       ~~~~^~~~~~~~~~~~
src/vars.c:781:71: warning: unused parameter 'curpx' [-Wunused-parameter]
  781 | static int vars_max_size(char **args, int section_type, struct proxy *curpx,
      |                                                         ~~~~~~~~~~~~~~^~~~~
src/vars.c:782:40: warning: unused parameter 'defpx' [-Wunused-parameter]
  782 |                          struct proxy *defpx, const char *file, int line,
      |                          ~~~~~~~~~~~~~~^~~~~
src/vars.c:782:59: warning: unused parameter 'file' [-Wunused-parameter]
  782 |                          struct proxy *defpx, const char *file, int line,
      |                                               ~~~~~~~~~~~~^~~~
src/vars.c:782:69: warning: unused parameter 'line' [-Wunused-parameter]
  782 |                          struct proxy *defpx, const char *file, int line,
      |                                                                 ~~~~^~~~
src/vars.c: At top level:
src/vars.c:832:2: warning: missing initializer for field 'val' of 'struct sample_fetch' [-Wmissing-field-initializers]
  832 |  { "var", smp_fetch_var, ARG1(1,STR), smp_check_var, SMP_T_STR, SMP_USE_L4CLI },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/sample.h:301:15: note: 'val' declared here
  301 |  unsigned int val;                         /* fetch validity (SMP_VAL_*) */
      |               ^~~
In file included from include/common/cfgparse.h:27,
                 from src/vars.c:3:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_fetch_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/vars.c:836:1: note: in expansion of macro 'INITCALL1'
  836 | INITCALL1(STG_REGISTER, sample_register_fetches, &sample_fetch_keywords);
      | ^~~~~~~~~
src/vars.c:839:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
  839 |  { "set-var",   smp_conv_store, ARG1(1,STR), conv_check_var, SMP_T_ANY, SMP_T_ANY },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/vars.c:840:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
  840 |  { "unset-var", smp_conv_clear, ARG1(1,STR), conv_check_var, SMP_T_ANY, SMP_T_ANY },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/vars.c:3:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_conv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/vars.c:844:1: note: in expansion of macro 'INITCALL1'
  844 | INITCALL1(STG_REGISTER, sample_register_convs, &sample_conv_kws);
      | ^~~~~~~~~
src/vars.c:847:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  847 |  { "set-var",   parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/vars.c:848:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  848 |  { "unset-var", parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/vars.c:3:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/vars.c:852:1: note: in expansion of macro 'INITCALL1'
  852 | INITCALL1(STG_REGISTER, tcp_req_sess_keywords_register, &tcp_req_sess_kws);
      | ^~~~~~~~~
src/vars.c:855:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  855 |  { "set-var",   parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/vars.c:856:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  856 |  { "unset-var", parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/vars.c:3:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/vars.c:860:1: note: in expansion of macro 'INITCALL1'
  860 | INITCALL1(STG_REGISTER, tcp_req_cont_keywords_register, &tcp_req_cont_kws);
      | ^~~~~~~~~
src/vars.c:863:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  863 |  { "set-var",   parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/vars.c:864:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  864 |  { "unset-var", parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/vars.c:3:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/vars.c:868:1: note: in expansion of macro 'INITCALL1'
  868 | INITCALL1(STG_REGISTER, tcp_res_cont_keywords_register, &tcp_res_kws);
      | ^~~~~~~~~
src/vars.c:871:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  871 |  { "set-var",   parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/vars.c:872:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  872 |  { "unset-var", parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/vars.c:3:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/vars.c:876:1: note: in expansion of macro 'INITCALL1'
  876 | INITCALL1(STG_REGISTER, http_req_keywords_register, &http_req_kws);
      | ^~~~~~~~~
src/vars.c:879:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  879 |  { "set-var",   parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
src/vars.c:880:2: warning: missing initializer for field 'private' of 'struct action_kw' [-Wmissing-field-initializers]
  880 |  { "unset-var", parse_store, 1 },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/vars.c:3:
include/types/action.h:184:8: note: 'private' declared here
  184 |  void *private;
      |        ^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/vars.c:3:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/vars.c:884:1: note: in expansion of macro 'INITCALL1'
  884 | INITCALL1(STG_REGISTER, http_res_keywords_register, &http_res_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/vars.c:895:1: note: in expansion of macro 'INITCALL1'
  895 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/proto_sockpair.o
In file included from include/common/standard.h:36,
                 from src/proto_sockpair.c:35:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/proto_sockpair.c:35:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/proto_sockpair.c:35:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/proto_sockpair.c:35:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/proto_sockpair.c:36:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/proto_sockpair.c:39:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_sockpair.c:39:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/proto_sockpair.c:39:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_sockpair.c:39:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/proto_sockpair.c:41:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/proto_sockpair.c:41:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_sockpair.c:39:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_sockpair.c:39:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/proto_sockpair.c:35:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/proto_sockpair.c:39:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_sockpair.c:39:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/proto_sockpair.c:41:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/proto_sockpair.c:41:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/proto_sockpair.c:41:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/proto_sockpair.c:31:
src/proto_sockpair.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct protocol *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/proto_sockpair.c:78:1: note: in expansion of macro 'INITCALL1'
   78 | INITCALL1(STG_REGISTER, protocol_register, &proto_sockpair);
      | ^~~~~~~~~
src/proto_sockpair.c: In function 'sockpair_add_listener':
src/proto_sockpair.c:87:66: warning: unused parameter 'port' [-Wunused-parameter]
   87 | static void sockpair_add_listener(struct listener *listener, int port)
      |                                                              ~~~~^~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/task.o
In file included from include/common/standard.h:36,
                 from src/task.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/task.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/task.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/task.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/task.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/task.c:18:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/proxy.h:28,
                 from src/task.c:25:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from src/task.c:26:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from src/task.c:16:
src/task.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/task.c:29:1: note: in expansion of macro 'DECLARE_POOL'
   29 | DECLARE_POOL(pool_head_task,    "task",    sizeof(struct task));
      | ^~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/task.c:30:1: note: in expansion of macro 'DECLARE_POOL'
   30 | DECLARE_POOL(pool_head_tasklet, "tasklet", sizeof(struct tasklet));
      | ^~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:129:2: note: in expansion of macro 'REGISTER_POOL'
  129 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/task.c:35:1: note: in expansion of macro 'DECLARE_POOL'
   35 | DECLARE_POOL(pool_head_notification, "notification", sizeof(struct notification));
      | ^~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:265:2: note: in expansion of macro 'INITCALL1'
  265 |  INITCALL1(STG_LOCK, ha_spin_init, &(lock))
      |  ^~~~~~~~~
src/task.c:46:1: note: in expansion of macro '__decl_aligned_spinlock'
   46 | __decl_aligned_spinlock(rq_lock); /* spin lock related to run queue */
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:275:2: note: in expansion of macro 'INITCALL1'
  275 |  INITCALL1(STG_LOCK, ha_rwlock_init, &(lock))
      |  ^~~~~~~~~
src/task.c:47:1: note: in expansion of macro '__decl_aligned_rwlock'
   47 | __decl_aligned_rwlock(wq_lock);   /* RW lock related to the wait queue */
      | ^~~~~~~~~~~~~~~~~~~~~
src/task.c: In function 'init_task':
src/task.c:550:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  550 |  for (i = 0; i < MAX_THREADS; i++) {
      |                ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/raw_sock.o
In file included from include/common/buffer.h:30,
                 from src/raw_sock.c:25:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/raw_sock.c:25:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/raw_sock.c:25:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/raw_sock.c:33:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/raw_sock.c:33:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/raw_sock.c:33:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/raw_sock.c:33:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/raw_sock.c:25:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/raw_sock.c:33:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/raw_sock.c:33:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/raw_sock.c:33:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/raw_sock.c:33:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/raw_sock.c:33:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/raw_sock.c:39:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/raw_sock.c:39:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/raw_sock.c: In function 'raw_sock_to_pipe':
src/raw_sock.c:63:53: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
   63 | int raw_sock_to_pipe(struct connection *conn, void *xprt_ctx, struct pipe *pipe, unsigned int count)
      |                                               ~~~~~~^~~~~~~~
src/raw_sock.c: In function 'raw_sock_from_pipe':
src/raw_sock.c:178:55: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
  178 | int raw_sock_from_pipe(struct connection *conn, void *xprt_ctx, struct pipe *pipe)
      |                                                 ~~~~~~^~~~~~~~
src/raw_sock.c: In function 'raw_sock_to_buf':
src/raw_sock.c:273:12: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  273 |    if (ret < try) {
      |            ^
src/raw_sock.c:229:62: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
  229 | static size_t raw_sock_to_buf(struct connection *conn, void *xprt_ctx, struct buffer *buf, size_t count, int flags)
      |                                                        ~~~~~~^~~~~~~~
src/raw_sock.c:229:110: warning: unused parameter 'flags' [-Wunused-parameter]
  229 | static size_t raw_sock_to_buf(struct connection *conn, void *xprt_ctx, struct buffer *buf, size_t count, int flags)
      |                                                                                                          ~~~~^~~~~
src/raw_sock.c: In function 'raw_sock_from_buf':
src/raw_sock.c:377:12: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  377 |    if (ret < try)
      |            ^
src/raw_sock.c:341:64: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
  341 | static size_t raw_sock_from_buf(struct connection *conn, void *xprt_ctx, const struct buffer *buf, size_t count, int flags)
      |                                                          ~~~~~~^~~~~~~~
src/raw_sock.c: In function 'raw_sock_remove_xprt':
src/raw_sock.c:415:52: warning: unused parameter 'conn' [-Wunused-parameter]
  415 | static int raw_sock_remove_xprt(struct connection *conn, void *xprt_ctx, void *toremove_ctx, const struct xprt_ops *newops, void *newctx)
      |                                 ~~~~~~~~~~~~~~~~~~~^~~~
src/raw_sock.c:415:64: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
  415 | static int raw_sock_remove_xprt(struct connection *conn, void *xprt_ctx, void *toremove_ctx, const struct xprt_ops *newops, void *newctx)
      |                                                          ~~~~~~^~~~~~~~
src/raw_sock.c:415:80: warning: unused parameter 'toremove_ctx' [-Wunused-parameter]
  415 | static int raw_sock_remove_xprt(struct connection *conn, void *xprt_ctx, void *toremove_ctx, const struct xprt_ops *newops, void *newctx)
      |                                                                          ~~~~~~^~~~~~~~~~~~
src/raw_sock.c:415:117: warning: unused parameter 'newops' [-Wunused-parameter]
  415 | static int raw_sock_remove_xprt(struct connection *conn, void *xprt_ctx, void *toremove_ctx, const struct xprt_ops *newops, void *newctx)
      |                                                                                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
src/raw_sock.c:415:131: warning: unused parameter 'newctx' [-Wunused-parameter]
  415 | static int raw_sock_remove_xprt(struct connection *conn, void *xprt_ctx, void *toremove_ctx, const struct xprt_ops *newops, void *newctx)
      |                                                                                                                             ~~~~~~^~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/signal.o
In file included from include/common/standard.h:36,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/proto/signal.h:15,
                 from src/signal.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/signal.c:19:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/signal.c:19:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/proto/signal.h:15,
                 from src/signal.c:18:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/signal.c:19:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/signal.c:19:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/common/hathreads.h:32,
                 from src/signal.c:16:
src/signal.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/signal.c:35:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   35 | DECLARE_STATIC_POOL(pool_head_sig_handlers, "sig_handlers", sizeof(struct sig_handler));
      | ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/ev_select.o
In file included from include/common/standard.h:36,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/ticks.h:56,
                 from src/ev_select.c:20:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/ev_select.c:21:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/ticks.h:56,
                 from src/ev_select.c:20:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/ev_select.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/ev_select.c:23:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/ev_select.c:23:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
src/ev_select.c: In function '_do_poll':
src/ev_select.c:159:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  159 |  for (i = 0; i < (maxfd + FD_SETSIZE - 1)/(8*sizeof(int)); i++) {
      |                ^
src/ev_select.c:183:37: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  183 |  for (fds = 0; (fds * BITS_PER_INT) < maxfd; fds++) {
      |                                     ^
src/ev_select.c:82:45: warning: unused parameter 'p' [-Wunused-parameter]
   82 | REGPRM3 static void _do_poll(struct poller *p, int exp, int wake)
      |                              ~~~~~~~~~~~~~~~^
src/ev_select.c: In function '_do_test':
src/ev_select.c:286:44: warning: unused parameter 'p' [-Wunused-parameter]
  286 | REGPRM1 static int _do_test(struct poller *p)
      |                             ~~~~~~~~~~~~~~~^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/compression.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/compression.c:29:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/common/cfgparse.h:27,
                 from src/compression.c:29:
src/compression.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:260:2: note: in expansion of macro 'INITCALL1'
  260 |  INITCALL1(STG_LOCK, ha_spin_init, &(lock))
      |  ^~~~~~~~~
src/compression.c:45:1: note: in expansion of macro '__decl_spinlock'
   45 | __decl_spinlock(comp_pool_lock);
      | ^~~~~~~~~~~~~~~
src/compression.c:100:2: warning: missing initializer for field 'next' of 'const struct comp_algo' [-Wmissing-field-initializers]
  100 |  { "identity",     8, "identity", 8, identity_init, identity_add_data, identity_flush, identity_finish, identity_end },
      |  ^
In file included from src/compression.c:36:
include/types/compression.h:78:20: note: 'next' declared here
   78 |  struct comp_algo *next;
      |                    ^~~~
src/compression.c:106:2: warning: missing initializer for field 'next' of 'const struct comp_algo' [-Wmissing-field-initializers]
  106 |  { "deflate",      7, "deflate",  7, deflate_init,  deflate_add_data,  deflate_flush,  deflate_finish,  deflate_end },
      |  ^
In file included from src/compression.c:36:
include/types/compression.h:78:20: note: 'next' declared here
   78 |  struct comp_algo *next;
      |                    ^~~~
src/compression.c:107:2: warning: missing initializer for field 'next' of 'const struct comp_algo' [-Wmissing-field-initializers]
  107 |  { "raw-deflate", 11, "deflate",  7, raw_def_init,  deflate_add_data,  deflate_flush,  deflate_finish,  deflate_end },
      |  ^
In file included from src/compression.c:36:
include/types/compression.h:78:20: note: 'next' declared here
   78 |  struct comp_algo *next;
      |                    ^~~~
src/compression.c:108:2: warning: missing initializer for field 'next' of 'const struct comp_algo' [-Wmissing-field-initializers]
  108 |  { "gzip",         4, "gzip",     4, gzip_init,     deflate_add_data,  deflate_flush,  deflate_finish,  deflate_end },
      |  ^
In file included from src/compression.c:36:
include/types/compression.h:78:20: note: 'next' declared here
   78 |  struct comp_algo *next;
      |                    ^~~~
src/compression.c:110:2: warning: missing initializer for field 'next' of 'const struct comp_algo' [-Wmissing-field-initializers]
  110 |  { NULL,       0, NULL,          0, NULL ,         NULL,              NULL,           NULL,           NULL }
      |  ^
In file included from src/compression.c:36:
include/types/compression.h:78:20: note: 'next' declared here
   78 |  struct comp_algo *next;
      |                    ^~~~
In file included from include/common/cfgparse.h:27,
                 from src/compression.c:29:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/compression.c:149:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
  149 | DECLARE_STATIC_POOL(pool_comp_ctx, "comp_ctx", sizeof(struct comp_ctx));
      | ^~~~~~~~~~~~~~~~~~~
src/compression.c: In function 'init_comp_ctx':
src/compression.c:159:70: warning: comparison of integer expressions of different signedness: 'long int' and 'unsigned int' [-Wsign-compare]
  159 |  if (global.maxzlibmem > 0 && (global.maxzlibmem - zlib_used_memory) < sizeof(struct comp_ctx))
      |                                                                      ^
src/compression.c: In function 'identity_init':
src/compression.c:209:44: warning: unused parameter 'comp_ctx' [-Wunused-parameter]
  209 | static int identity_init(struct comp_ctx **comp_ctx, int level)
      |                          ~~~~~~~~~~~~~~~~~~^~~~~~~~
src/compression.c:209:58: warning: unused parameter 'level' [-Wunused-parameter]
  209 | static int identity_init(struct comp_ctx **comp_ctx, int level)
      |                                                      ~~~~^~~~~
src/compression.c: In function 'identity_add_data':
src/compression.c:218:47: warning: unused parameter 'comp_ctx' [-Wunused-parameter]
  218 | static int identity_add_data(struct comp_ctx *comp_ctx, const char *in_data, int in_len, struct buffer *out)
      |                              ~~~~~~~~~~~~~~~~~^~~~~~~~
src/compression.c: In function 'identity_flush':
src/compression.c:233:44: warning: unused parameter 'comp_ctx' [-Wunused-parameter]
  233 | static int identity_flush(struct comp_ctx *comp_ctx, struct buffer *out)
      |                           ~~~~~~~~~~~~~~~~~^~~~~~~~
src/compression.c:233:69: warning: unused parameter 'out' [-Wunused-parameter]
  233 | static int identity_flush(struct comp_ctx *comp_ctx, struct buffer *out)
      |                                                      ~~~~~~~~~~~~~~~^~~
src/compression.c: In function 'identity_finish':
src/compression.c:238:45: warning: unused parameter 'comp_ctx' [-Wunused-parameter]
  238 | static int identity_finish(struct comp_ctx *comp_ctx, struct buffer *out)
      |                            ~~~~~~~~~~~~~~~~~^~~~~~~~
src/compression.c:238:70: warning: unused parameter 'out' [-Wunused-parameter]
  238 | static int identity_finish(struct comp_ctx *comp_ctx, struct buffer *out)
      |                                                       ~~~~~~~~~~~~~~~^~~
src/compression.c: In function 'identity_end':
src/compression.c:246:43: warning: unused parameter 'comp_ctx' [-Wunused-parameter]
  246 | static int identity_end(struct comp_ctx **comp_ctx)
      |                         ~~~~~~~~~~~~~~~~~~^~~~~~~~
src/compression.c: In function 'deflate_flush_or_finish':
src/compression.c:615:72: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  615 |  if ((global.comp_rate_lim > 0 && (read_freq_ctr(&global.comp_bps_out) > global.comp_rate_lim)) ||    /* rate */
      |                                                                        ^
src/compression.c: In function 'zlib_parse_global_memlevel':
src/compression.c:655:56: warning: unused parameter 'section_type' [-Wunused-parameter]
  655 | static int zlib_parse_global_memlevel(char **args, int section_type, struct proxy *curpx,
      |                                                    ~~~~^~~~~~~~~~~~
src/compression.c:655:84: warning: unused parameter 'curpx' [-Wunused-parameter]
  655 | static int zlib_parse_global_memlevel(char **args, int section_type, struct proxy *curpx,
      |                                                                      ~~~~~~~~~~~~~~^~~~~
src/compression.c:656:53: warning: unused parameter 'defpx' [-Wunused-parameter]
  656 |                                       struct proxy *defpx, const char *file, int line,
      |                                       ~~~~~~~~~~~~~~^~~~~
src/compression.c:656:72: warning: unused parameter 'file' [-Wunused-parameter]
  656 |                                       struct proxy *defpx, const char *file, int line,
      |                                                            ~~~~~~~~~~~~^~~~
src/compression.c:656:82: warning: unused parameter 'line' [-Wunused-parameter]
  656 |                                       struct proxy *defpx, const char *file, int line,
      |                                                                              ~~~~^~~~
src/compression.c: In function 'zlib_parse_global_windowsize':
src/compression.c:677:58: warning: unused parameter 'section_type' [-Wunused-parameter]
  677 | static int zlib_parse_global_windowsize(char **args, int section_type, struct proxy *curpx,
      |                                                      ~~~~^~~~~~~~~~~~
src/compression.c:677:86: warning: unused parameter 'curpx' [-Wunused-parameter]
  677 | static int zlib_parse_global_windowsize(char **args, int section_type, struct proxy *curpx,
      |                                                                        ~~~~~~~~~~~~~~^~~~~
src/compression.c:678:55: warning: unused parameter 'defpx' [-Wunused-parameter]
  678 |                                         struct proxy *defpx, const char *file, int line,
      |                                         ~~~~~~~~~~~~~~^~~~~
src/compression.c:678:74: warning: unused parameter 'file' [-Wunused-parameter]
  678 |                                         struct proxy *defpx, const char *file, int line,
      |                                                              ~~~~~~~~~~~~^~~~
src/compression.c:678:84: warning: unused parameter 'line' [-Wunused-parameter]
  678 |                                         struct proxy *defpx, const char *file, int line,
      |                                                                                ~~~~^~~~
In file included from include/common/cfgparse.h:27,
                 from src/compression.c:29:
src/compression.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/compression.c:709:1: note: in expansion of macro 'INITCALL1'
  709 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/lb_fwrr.o
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwrr.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/lb_fwrr.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwrr.c:16:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwrr.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/lb_fwrr.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_fwrr.c:18:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_fwrr.c:18:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from src/lb_fwrr.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/lb_fwrr.c: In function 'fwrr_update_server_weight':
src/lb_fwrr.c:232:18: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  232 |    if (srv->npos > prev_next)
      |                  ^
src/lb_fwrr.c:234:18: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  234 |    if (srv->npos < grp->curr_pos + 2)
      |                  ^
src/lb_fwrr.c: In function 'fwrr_queue_srv':
src/lb_fwrr.c:353:12: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  353 |    s->npos >= 2 * grp->curr_weight ||
      |            ^~
src/lb_fwrr.c:354:12: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  354 |    s->npos >= grp->curr_weight + grp->next_weight) {
      |            ^~
src/lb_fwrr.c: In function 'fwrr_get_server_from_group':
src/lb_fwrr.c:463:35: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  463 |   if (s1->cur_eweight && s1->npos <= grp->curr_pos)
      |                                   ^~
src/lb_fwrr.c: In function 'fwrr_get_next_server':
src/lb_fwrr.c:571:53: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  571 |   if (!srv->maxconn || (!srv->nbpend && srv->served < srv_dynamic_maxconn(srv))) {
      |                                                     ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/channel.o
In file included from include/common/buffer.h:30,
                 from src/channel.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/channel.c:19:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/channel.c:19:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from include/proto/channel.h:32,
                 from src/channel.c:21:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/channel.c:21:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/channel.c:21:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/channel.c:19:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/channel.c:21:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/channel.c:21:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/channel.c:21:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/channel.c: In function 'co_inject':
src/channel.c:85:21: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   85 |  if (len < 0 || len > c_size(chn)) {
      |                     ^
In file included from include/common/config.h:25,
                 from src/channel.c:18:
src/channel.c: In function 'ci_putblk':
src/channel.c:154:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  154 |  if (unlikely(len > max - c_data(chn))) {
      |                   ^
include/common/compiler.h:125:40: note: in definition of macro 'unlikely'
  125 | #define unlikely(x) (__builtin_expect((x) != 0, 0))
      |                                        ^
src/channel.c: In function 'co_getline':
src/channel.c:206:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  206 |  if (max > co_data(chn)) {
      |          ^
src/channel.c:220:11: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  220 |      (ret < co_data(chn) || channel_may_recv(chn)) &&
      |           ^
src/channel.c: In function 'co_getblk':
src/channel.c:243:19: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  243 |  if (len + offset > co_data(chn)) {
      |                   ^
src/channel.c: In function 'co_getline_nc':
src/channel.c:291:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  291 |  for (l = 0; l < *len1 && (*blk1)[l] != '\n'; l++);
      |                ^
src/channel.c:292:8: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  292 |  if (l < *len1 && (*blk1)[l] == '\n') {
      |        ^
src/channel.c:298:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  298 |   for (l = 0; l < *len2 && (*blk2)[l] != '\n'; l++);
      |                 ^
src/channel.c:299:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  299 |   if (l < *len2 && (*blk2)[l] == '\n') {
      |         ^
src/channel.c: In function 'ci_getline_nc':
src/channel.c:367:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  367 |  for (l = 0; l < *len1 && (*blk1)[l] != '\n'; l++);
      |                ^
src/channel.c:368:8: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  368 |  if (l < *len1 && (*blk1)[l] == '\n') {
      |        ^
src/channel.c:374:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  374 |   for (l = 0; l < *len2 && (*blk2)[l] != '\n'; l++);
      |                 ^
src/channel.c:375:9: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  375 |   if (l < *len2 && (*blk2)[l] == '\n') {
      |         ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/http_conv.o
In file included from src/http_conv.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from src/http_conv.c:23:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/http_conv.c:26:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/http_conv.c:26:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/http_conv.c:26:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from src/http_conv.c:34:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from src/http_conv.c:34:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_conv.c:26:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/http_conv.c:30:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from src/http_conv.c:34:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/http_conv.c: In function 'sample_conv_http_date':
src/http_conv.c:41:84: warning: unused parameter 'private' [-Wunused-parameter]
   41 | static int sample_conv_http_date(const struct arg *args, struct sample *smp, void *private)
      |                                                                              ~~~~~~^~~~~~~
src/http_conv.c: In function 'sample_conv_q_preferred':
src/http_conv.c:71:86: warning: unused parameter 'private' [-Wunused-parameter]
   71 | static int sample_conv_q_preferred(const struct arg *args, struct sample *smp, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/http_conv.c: In function 'sample_conv_url_dec':
src/http_conv.c:218:50: warning: unused parameter 'args' [-Wunused-parameter]
  218 | static int sample_conv_url_dec(const struct arg *args, struct sample *smp, void *private)
      |                                ~~~~~~~~~~~~~~~~~~^~~~
src/http_conv.c:218:82: warning: unused parameter 'private' [-Wunused-parameter]
  218 | static int sample_conv_url_dec(const struct arg *args, struct sample *smp, void *private)
      |                                                                            ~~~~~~^~~~~~~
src/http_conv.c: In function 'smp_conv_req_capture':
src/http_conv.c:243:83: warning: unused parameter 'private' [-Wunused-parameter]
  243 | static int smp_conv_req_capture(const struct arg *args, struct sample *smp, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/http_conv.c: In function 'smp_conv_res_capture':
src/http_conv.c:284:83: warning: unused parameter 'private' [-Wunused-parameter]
  284 | static int smp_conv_res_capture(const struct arg *args, struct sample *smp, void *private)
      |                                                                             ~~~~~~^~~~~~~
src/http_conv.c: At top level:
src/http_conv.c:331:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
  331 |  { "http_date",      sample_conv_http_date,    ARG1(0,SINT),     NULL,   SMP_T_SINT, SMP_T_STR},
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/http_conv.c:332:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
  332 |  { "language",       sample_conv_q_preferred,  ARG2(1,STR,STR),  NULL,   SMP_T_STR,  SMP_T_STR},
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/http_conv.c:333:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
  333 |  { "capture-req",    smp_conv_req_capture,     ARG1(1,SINT),     NULL,   SMP_T_STR,  SMP_T_STR},
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/http_conv.c:334:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
  334 |  { "capture-res",    smp_conv_res_capture,     ARG1(1,SINT),     NULL,   SMP_T_STR,  SMP_T_STR},
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/http_conv.c:335:2: warning: missing initializer for field 'private' of 'struct sample_conv' [-Wmissing-field-initializers]
  335 |  { "url_dec",        sample_conv_url_dec,      0,                NULL,   SMP_T_STR,  SMP_T_STR},
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/sample.h:279:8: note: 'private' declared here
  279 |  void *private;                            /* private values. only used by maps and Lua */
      |        ^~~~~~~
src/http_conv.c:336:2: warning: missing initializer for field 'out_type' of 'struct sample_conv' [-Wmissing-field-initializers]
  336 |  { NULL, NULL, 0, 0, 0 },
      |  ^
In file included from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_conv.c:30:
include/types/sample.h:278:15: note: 'out_type' declared here
  278 |  unsigned int out_type;                    /* output sample type */
      |               ^~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/http_conv.c:19:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct sample_conv_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/http_conv.c:339:1: note: in expansion of macro 'INITCALL1'
  339 | INITCALL1(STG_REGISTER, sample_register_convs, &sample_conv_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/pipe.o
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/pipe.c:20:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/pipe.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/pipe.c:20:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/pipe.c:20:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/pipe.c:20:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from include/common/hathreads.h:32,
                 from src/pipe.c:17:
src/pipe.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/pipe.c:23:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   23 | DECLARE_STATIC_POOL(pool_head_pipe, "pipe", sizeof(struct pipe));
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:260:2: note: in expansion of macro 'INITCALL1'
  260 |  INITCALL1(STG_LOCK, ha_spin_init, &(lock))
      |  ^~~~~~~~~
src/pipe.c:27:1: note: in expansion of macro '__decl_spinlock'
   27 | __decl_spinlock(pipes_lock); /* lock used to protect pipes list */
      | ^~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/memory.o
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/buffer.h:30,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from src/memory.c:14:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from src/memory.c:14:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/memory.c:19:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from src/memory.c:30:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from src/memory.c:30:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from src/memory.c:32:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/memory.c:32:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/memory.c: In function 'create_pool':
src/memory.c:139:22: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  139 |    for (thr = 0; thr < MAX_THREADS; thr++)
      |                      ^
src/memory.c: In function 'init_pools':
src/memory.c:586:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  586 |  for (thr = 0; thr < MAX_THREADS; thr++) {
      |                    ^
src/memory.c: At top level:
src/memory.c:599:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
  599 |  { { "show", "pools",  NULL }, "show pools     : report information about the memory pools usage", NULL, cli_io_handler_dump_pools },
      |  ^
In file included from src/memory.c:15:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/memory.c:600:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
  600 |  {{},}
      |  ^
In file included from src/memory.c:15:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/xref.h:4,
                 from include/types/hlua.h:10,
                 from include/types/applet.h:26,
                 from src/memory.c:14:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/memory.c:603:1: note: in expansion of macro 'INITCALL1'
  603 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/memory.c:667:1: note: in expansion of macro 'INITCALL1'
  667 | INITCALL1(STG_REGISTER, cfg_register_keywords, &mem_cfg_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/regex.o
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/regex.c:17:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/regex.c:17:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/regex.c:17:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/regex.c:17:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/regex.c:17:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/regex.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/regex.c:17:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/regex.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/regex.c:17:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/regex.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/regex.c:17:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/regex.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/regex.c:22:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/regex.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/regex.c:22:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/regex.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/regex.c:17:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/regex.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/regex.c:17:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/regex.c:17:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/regex.c:17:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/regex.c:17:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/regex.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/regex.c: In function 'regex_exec_match':
src/regex.c:219:13: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  219 |  for (i=0; i<nmatch; i++) {
      |             ^
src/regex.c: In function 'regex_exec_match2':
src/regex.c:311:13: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  311 |  for (i=0; i<nmatch; i++) {
      |             ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/uri_auth.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/uri_auth.c:20:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/uri_auth.c:20:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from src/uri_auth.c:20:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/uri_auth.c:20:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/lb_fwlc.o
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fwlc.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/lb_fwlc.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fwlc.c:16:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fwlc.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/lb_fwlc.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_fwlc.c:18:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_fwlc.c:18:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from src/lb_fwlc.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/lb_fwlc.c: In function 'fwlc_get_next_server':
src/lb_fwlc.c:329:47: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  329 |   if (!s->maxconn || (!s->nbpend && s->served < srv_dynamic_maxconn(s))) {
      |                                               ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/chunk.o
In file included from src/chunk.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/chunk.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/chunk.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/chunk.c:20:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/chunk.c:20:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/chunk.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/chunk.c:22:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/chunk.c:22:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/chunk.c:22:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
src/chunk.c: In function 'init_trash_buffers':
src/chunk.c:93:28: warning: unused parameter 'first' [-Wunused-parameter]
   93 | int init_trash_buffers(int first)
      |                        ~~~~^~~~~
src/chunk.c: In function 'chunk_printf':
src/chunk.c:141:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  141 |  if (ret >= chk->size)
      |          ^~
src/chunk.c: In function 'chunk_appendf':
src/chunk.c:164:10: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  164 |  if (ret >= chk->size - chk->data)
      |          ^~
src/chunk.c: In function 'chunk_htmlencode':
src/chunk.c:186:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  186 |  for (i = 0; i < src->data; i++) {
      |                ^
src/chunk.c: In function 'chunk_asciiencode':
src/chunk.c:228:16: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  228 |  for (i = 0; i < src->data; i++) {
      |                ^
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/chunk.c:19:
src/chunk.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:326:2: note: in expansion of macro 'INITCALL1'
  326 |  INITCALL1(STG_REGISTER, hap_register_per_thread_alloc, (fct))
      |  ^~~~~~~~~
src/chunk.c:311:1: note: in expansion of macro 'REGISTER_PER_THREAD_ALLOC'
  311 | REGISTER_PER_THREAD_ALLOC(alloc_trash_buffers_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:338:2: note: in expansion of macro 'INITCALL1'
  338 |  INITCALL1(STG_REGISTER, hap_register_per_thread_free, (fct))
      |  ^~~~~~~~~
src/chunk.c:312:1: note: in expansion of macro 'REGISTER_PER_THREAD_FREE'
  312 | REGISTER_PER_THREAD_FREE(free_trash_buffers_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/lb_map.o
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_map.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/lb_map.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/lb_map.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_map.c:16:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_map.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/lb_map.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_map.c:18:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_map.c:18:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from src/lb_map.c:23:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/lb_map.c: In function 'recalc_server_map':
src/lb_map.c:112:36: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  112 |    if ((cur->flags & SRV_F_BACKUP) == flag &&
      |                                    ^~
src/lb_map.c: In function 'map_get_server_rr':
src/lb_map.c:238:53: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  238 |   if (!srv->maxconn || (!srv->nbpend && srv->served < srv_dynamic_maxconn(srv))) {
      |                                                     ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/lb_fas.o
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/lb_fas.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/lb_fas.c:24:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/lb_fas.c:24:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from src/lb_fas.c:22:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/lb_fas.c:24:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/lb_fas.c:24:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_fas.c:24:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/lb_fas.c:24:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from src/lb_fas.c:28:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/lb_fas.c: In function 'fas_get_next_server':
src/lb_fas.c:331:47: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  331 |   if (!s->maxconn || (!s->nbpend && s->served < srv_dynamic_maxconn(s))) {
      |                                               ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/htx.o
In file included from src/htx.c:13:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/htx.h:28,
                 from src/htx.c:14:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from src/htx.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/htx.h:31,
                 from src/htx.c:14:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/htx.c:14:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
src/htx.c: In function 'htx_defrag':
src/htx.c:43:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
   43 |  for (old = htx_get_head(htx); old != -1; old = htx_get_next(htx, old)) {
      |                                    ^~
src/htx.c:54:18: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
   54 |   if (htx->first == old)
      |                  ^~
src/htx.c:75:18: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
   75 |  return ((blkpos == -1) ? NULL : htx_get_blk(htx, blkpos));
      |                  ^~
src/htx.c: In function 'htx_prepare_blk_expansion':
src/htx.c:243:17: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  243 |  else if (delta > htx_free_space(htx)) {
      |                 ^
src/htx.c:249:13: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  249 |   if (delta < tailroom) {
      |             ^
src/htx.c:274:13: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  274 |   if (delta < headroom) {
      |             ^
src/htx.c: In function 'htx_remove_blk':
src/htx.c:366:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  366 |  if (pos == htx->first)
      |          ^~
src/htx.c:367:51: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  367 |   htx->first = (blk ? htx_get_blk_pos(htx, blk) : -1);
      |                                                   ^~
src/htx.c: In function 'htx_xfer_blks':
src/htx.c:683:47: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  683 |    if (sl->hdrs_bytes != -1 && sl->hdrs_bytes > count) {
      |                                               ^
src/htx.c:731:3: warning: label 'end' defined but not used [-Wunused-label]
  731 |   end:
      |   ^~~
src/htx.c: In function 'htx_add_data':
src/htx.c:979:10: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  979 |  if (len > htx_free_data_space(htx))
      |          ^
src/htx.c:1010:11: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
 1010 |  if (room < len)
      |           ^
src/htx.c:1013:3: warning: label 'append_data' defined but not used [-Wunused-label]
 1013 |   append_data:
      |   ^~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hpack-tbl.o
In file included from include/common/http-hdr.h:31,
                 from include/common/hpack-tbl.h:33,
                 from src/hpack-tbl.c:34:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from src/hpack-tbl.c:34:
include/common/hpack-tbl.h: In function 'hpack_valid_idx':
include/common/hpack-tbl.h:161:13: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  161 |  return idx < dht->used + HPACK_SHT_SIZE;
      |             ^
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-tbl.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/hpack-tbl.c:37:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/hpack-tbl.c:37:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/time.o
In file included from include/common/standard.h:36,
                 from src/time.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/time.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/time.c:18:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/time.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/time.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/time.c:19:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hathreads.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/hathreads.c:26:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/hathreads.c: In function 'ha_tkillall':
src/hathreads.c:147:20: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  147 |  for (thr = 0; thr < global.nbthread; thr++) {
      |                    ^
src/hathreads.c: In function 'parse_nbthread':
src/hathreads.c:243:31: warning: comparison of integer expressions of different signedness: 'long int' and 'unsigned int' [-Wsign-compare]
  243 |  if (nbthread < 1 || nbthread > MAX_THREADS) {
      |                               ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/buffer.o
In file included from include/common/buffer.h:30,
                 from src/buffer.c:18:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/buffer.h:32,
                 from src/buffer.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from src/buffer.c:18:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/time.h:31,
                 from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from src/buffer.c:18:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/buffer.c:21:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/buffer.h:29,
                 from src/buffer.c:18:
src/buffer.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:265:2: note: in expansion of macro 'INITCALL1'
  265 |  INITCALL1(STG_LOCK, ha_spin_init, &(lock))
      |  ^~~~~~~~~
src/buffer.c:27:1: note: in expansion of macro '__decl_aligned_spinlock'
   27 | __decl_aligned_spinlock(buffer_wq_lock);
      | ^~~~~~~~~~~~~~~~~~~~~~~
src/buffer.c: In function '__offer_buffer':
src/buffer.c:116:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  116 |   if (avail <= threshold)
      |             ^~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/http_htx.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/http_htx.c:15:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/http_htx.c:18:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
src/http_htx.c: In function 'http_str_to_htx':
src/http_htx.c:675:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  675 |  while (raw.len > ret) {
      |                 ^
src/http_htx.c: In function 'http_htx_init':
src/http_htx.c:735:1: warning: label 'end' defined but not used [-Wunused-label]
  735 | end:
      | ^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/http_htx.c:14:
src/http_htx.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:152:2: note: in expansion of macro 'INITCALL2'
  152 |  INITCALL2(STG_REGISTER, cfg_register_postparser, (name), (parser))
      |  ^~~~~~~~~
src/http_htx.c:739:1: note: in expansion of macro 'REGISTER_CONFIG_POSTPARSER'
  739 | REGISTER_CONFIG_POSTPARSER("http_htx", http_htx_init);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/sha1.o
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/action.o
In file included from include/common/standard.h:36,
                 from src/action.c:16:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/action.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/action.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/action.c:16:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/http.h:27,
                 from include/types/proto_http.h:27,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/action.c:16:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/types/action.h:27,
                 from include/proto/action.h:25,
                 from src/action.c:18:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
src/action.c: In function 'act_resolution_cb':
src/action.c:73:79: warning: unused parameter 'nameserver' [-Wunused-parameter]
   73 | int act_resolution_cb(struct dns_requester *requester, struct dns_nameserver *nameserver)
      |                                                        ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
src/action.c: In function 'act_resolution_error_cb':
src/action.c:89:66: warning: unused parameter 'error_code' [-Wunused-parameter]
   89 | int act_resolution_error_cb(struct dns_requester *requester, int error_code)
      |                                                              ~~~~^~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/auth.o
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/auth.c:28:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/auth.c:28:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/auth.c:28:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/auth.c:28:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/auth.c:28:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/auth.c:28:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/auth.c:28:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/auth.c:28:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/auth.c:28:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/auth.c:28:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/auth.c:28:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/auth.c:28:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/auth.c:35:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/auth.c:28:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/auth.c:35:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/auth.c:28:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/auth.c:28:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/auth.c:28:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/auth.c:28:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/auth.c:28:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/auth.c:28:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/auth.c:28:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/auth.c:35:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/auth.c: In function 'pat_match_auth':
src/auth.c:284:67: warning: unused parameter 'fill' [-Wunused-parameter]
  284 | pat_match_auth(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                               ~~~~^~~~
In file included from include/types/global.h:28,
                 from src/auth.c:28:
src/auth.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(const char *, int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:314:2: note: in expansion of macro 'INITCALL2'
  314 |  INITCALL2(STG_REGISTER, hap_register_build_opts, (str), 0)
      |  ^~~~~~~~~
src/auth.c:317:1: note: in expansion of macro 'REGISTER_BUILD_OPTS'
  317 | REGISTER_BUILD_OPTS("Encrypted password support via crypt(3): yes");
      | ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hpack-dec.o
In file included from include/common/standard.h:36,
                 from src/hpack-dec.c:33:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/hpack-dec.c:33:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/hpack-dec.c:33:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/hpack-dec.c:33:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/http-hdr.h:31,
                 from include/common/hpack-tbl.h:33,
                 from include/common/hpack-dec.h:34,
                 from src/hpack-dec.c:34:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/hpack-dec.h:34,
                 from src/hpack-dec.c:34:
include/common/hpack-tbl.h: In function 'hpack_valid_idx':
include/common/hpack-tbl.h:161:13: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  161 |  return idx < dht->used + HPACK_SHT_SIZE;
      |             ^
In file included from include/common/h2.h:34,
                 from src/hpack-dec.c:38:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/hpack-dec.c:33:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-dec.c:41:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/hpack-dec.c:41:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/hpack-dec.c:41:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/shctx.o
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from src/shctx.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from src/shctx.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/shctx.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/shctx.c:17:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/shctx.c:17:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/shctx.c:17:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/shctx.c:17:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from src/shctx.c:19:
include/proto/shctx.h: In function '_shctx_wait4lock':
include/proto/shctx.h:93:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   93 |         for (i = 0; i < *count; i++) {
      |                       ^
include/proto/shctx.h:89:72: warning: unused parameter 'uaddr' [-Wunused-parameter]
   89 | static inline void _shctx_wait4lock(unsigned int *count, unsigned int *uaddr, int value)
      |                                                          ~~~~~~~~~~~~~~^~~~~
include/proto/shctx.h:89:83: warning: unused parameter 'value' [-Wunused-parameter]
   89 | static inline void _shctx_wait4lock(unsigned int *count, unsigned int *uaddr, int value)
      |                                                                               ~~~~^~~~~
src/shctx.c: In function 'shctx_row_reserve_hot':
src/shctx.c:43:15: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   43 |  if (data_len > shctx->nbav * shctx->block_size)
      |               ^
src/shctx.c:49:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   49 |    (!first && data_len > shctx->max_obj_size))
      |                        ^
src/shctx.c: In function 'shctx_row_inc_hot':
src/shctx.c:159:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  159 |    if (count >= first->block_count)
      |              ^~
src/shctx.c: In function 'shctx_row_dec_hot':
src/shctx.c:186:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  186 |    if (count >= first->block_count)
      |              ^~
src/shctx.c: In function 'shctx_row_data_append':
src/shctx.c:209:10: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  209 |  if (len > first->block_count * shctx->block_size - first->len)
      |          ^
src/shctx.c: In function 'shctx_row_data_get':
src/shctx.c:257:10: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  257 |  if (len > first->len)
      |          ^
src/shctx.c:264:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  264 |   if (count >= first->block_count  || len <= 0)
      |             ^~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/freq_ctr.o
In file included from include/common/standard.h:36,
                 from src/freq_ctr.c:14:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/freq_ctr.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/freq_ctr.c:14:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/freq_ctr.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/freq_ctr.c:14:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from src/freq_ctr.c:15:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/http.o
In file included from include/common/http.h:27,
                 from src/http.c:15:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/standard.h:36,
                 from src/http.c:16:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/http.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/http.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/http.c:16:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
src/http.c: In function 'http_extract_cookie_value':
src/http.c:700:25: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  700 |   if (att_end - att_beg == cookie_name_l &&
      |                         ^~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/proto_udp.o
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/proto_udp.c:13:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/proto_udp.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/proto_udp.c:13:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_udp.c:13:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/proto_udp.c:13:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/http_acl.o
In file included from src/http_acl.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from src/http_acl.c:23:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/http_acl.c:26:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/http_acl.c:26:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/http_acl.c:26:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/http_acl.c:26:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/http_acl.c:29:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
src/http_acl.c: In function 'pat_parse_meth':
src/http_acl.c:40:74: warning: unused parameter 'mflags' [-Wunused-parameter]
   40 | static int pat_parse_meth(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                                      ~~~~^~~~~~
src/http_acl.c:40:89: warning: unused parameter 'err' [-Wunused-parameter]
   40 | static int pat_parse_meth(const char *text, struct pattern *pattern, int mflags, char **err)
      |                                                                                  ~~~~~~~^~~
src/http_acl.c: In function 'pat_match_meth':
src/http_acl.c:78:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |   if (pattern->len != smp->data.u.meth.str.data)
      |                    ^~
src/http_acl.c:60:90: warning: unused parameter 'fill' [-Wunused-parameter]
   60 | static struct pattern *pat_match_meth(struct sample *smp, struct pattern_expr *expr, int fill)
      |                                                                                      ~~~~^~~~
src/http_acl.c: At top level:
src/http_acl.c:97:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
   97 |  { "base",            "base",     PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:98:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
   98 |  { "base_beg",        "base",     PAT_MATCH_BEG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:99:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
   99 |  { "base_dir",        "base",     PAT_MATCH_DIR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:100:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  100 |  { "base_dom",        "base",     PAT_MATCH_DOM },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:101:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  101 |  { "base_end",        "base",     PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:102:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  102 |  { "base_len",        "base",     PAT_MATCH_LEN },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:103:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  103 |  { "base_reg",        "base",     PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:104:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  104 |  { "base_sub",        "base",     PAT_MATCH_SUB },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:106:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  106 |  { "cook",            "req.cook", PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:107:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  107 |  { "cook_beg",        "req.cook", PAT_MATCH_BEG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:108:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  108 |  { "cook_dir",        "req.cook", PAT_MATCH_DIR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:109:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  109 |  { "cook_dom",        "req.cook", PAT_MATCH_DOM },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:110:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  110 |  { "cook_end",        "req.cook", PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:111:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  111 |  { "cook_len",        "req.cook", PAT_MATCH_LEN },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:112:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  112 |  { "cook_reg",        "req.cook", PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:113:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  113 |  { "cook_sub",        "req.cook", PAT_MATCH_SUB },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:115:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  115 |  { "hdr",             "req.hdr",  PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:116:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  116 |  { "hdr_beg",         "req.hdr",  PAT_MATCH_BEG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:117:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  117 |  { "hdr_dir",         "req.hdr",  PAT_MATCH_DIR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:118:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  118 |  { "hdr_dom",         "req.hdr",  PAT_MATCH_DOM },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:119:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  119 |  { "hdr_end",         "req.hdr",  PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:120:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  120 |  { "hdr_len",         "req.hdr",  PAT_MATCH_LEN },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:121:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  121 |  { "hdr_reg",         "req.hdr",  PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:122:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  122 |  { "hdr_sub",         "req.hdr",  PAT_MATCH_SUB },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:130:2: warning: missing initializer for field 'smp' of 'struct acl_keyword' [-Wmissing-field-initializers]
  130 |  { "http_auth_group", NULL,       PAT_MATCH_STR, NULL,  pat_idx_list_str, pat_del_list_ptr, NULL, pat_match_auth },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:101:23: note: 'smp' declared here
  101 |  struct sample_fetch *smp; /* the sample fetch we depend on */
      |                       ^~~
src/http_acl.c:131:2: warning: missing initializer for field 'smp' of 'struct acl_keyword' [-Wmissing-field-initializers]
  131 |  { "method",          NULL,       PAT_MATCH_STR, pat_parse_meth, pat_idx_list_str, pat_del_list_ptr, NULL, pat_match_meth },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:101:23: note: 'smp' declared here
  101 |  struct sample_fetch *smp; /* the sample fetch we depend on */
      |                       ^~~
src/http_acl.c:133:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  133 |  { "path",            "path",     PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:134:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  134 |  { "path_beg",        "path",     PAT_MATCH_BEG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:135:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  135 |  { "path_dir",        "path",     PAT_MATCH_DIR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:136:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  136 |  { "path_dom",        "path",     PAT_MATCH_DOM },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:137:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  137 |  { "path_end",        "path",     PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:138:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  138 |  { "path_len",        "path",     PAT_MATCH_LEN },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:139:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  139 |  { "path_reg",        "path",     PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:140:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  140 |  { "path_sub",        "path",     PAT_MATCH_SUB },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:142:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  142 |  { "req_ver",         "req.ver",  PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:143:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  143 |  { "resp_ver",        "res.ver",  PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:145:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  145 |  { "scook",           "res.cook", PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:146:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  146 |  { "scook_beg",       "res.cook", PAT_MATCH_BEG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:147:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  147 |  { "scook_dir",       "res.cook", PAT_MATCH_DIR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:148:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  148 |  { "scook_dom",       "res.cook", PAT_MATCH_DOM },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:149:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  149 |  { "scook_end",       "res.cook", PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:150:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  150 |  { "scook_len",       "res.cook", PAT_MATCH_LEN },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:151:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  151 |  { "scook_reg",       "res.cook", PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:152:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  152 |  { "scook_sub",       "res.cook", PAT_MATCH_SUB },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:154:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  154 |  { "shdr",            "res.hdr",  PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:155:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  155 |  { "shdr_beg",        "res.hdr",  PAT_MATCH_BEG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:156:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  156 |  { "shdr_dir",        "res.hdr",  PAT_MATCH_DIR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:157:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  157 |  { "shdr_dom",        "res.hdr",  PAT_MATCH_DOM },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:158:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  158 |  { "shdr_end",        "res.hdr",  PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:159:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  159 |  { "shdr_len",        "res.hdr",  PAT_MATCH_LEN },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:160:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  160 |  { "shdr_reg",        "res.hdr",  PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:161:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  161 |  { "shdr_sub",        "res.hdr",  PAT_MATCH_SUB },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:163:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  163 |  { "url",             "url",      PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:164:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  164 |  { "url_beg",         "url",      PAT_MATCH_BEG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:165:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  165 |  { "url_dir",         "url",      PAT_MATCH_DIR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:166:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  166 |  { "url_dom",         "url",      PAT_MATCH_DOM },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:167:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  167 |  { "url_end",         "url",      PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:168:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  168 |  { "url_len",         "url",      PAT_MATCH_LEN },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:169:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  169 |  { "url_reg",         "url",      PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:170:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  170 |  { "url_sub",         "url",      PAT_MATCH_SUB },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:172:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  172 |  { "urlp",            "urlp",     PAT_MATCH_STR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:173:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  173 |  { "urlp_beg",        "urlp",     PAT_MATCH_BEG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:174:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  174 |  { "urlp_dir",        "urlp",     PAT_MATCH_DIR },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:175:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  175 |  { "urlp_dom",        "urlp",     PAT_MATCH_DOM },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:176:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  176 |  { "urlp_end",        "urlp",     PAT_MATCH_END },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:177:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  177 |  { "urlp_len",        "urlp",     PAT_MATCH_LEN },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:178:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  178 |  { "urlp_reg",        "urlp",     PAT_MATCH_REG },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
src/http_acl.c:179:2: warning: missing initializer for field 'parse' of 'struct acl_keyword' [-Wmissing-field-initializers]
  179 |  { "urlp_sub",        "urlp",     PAT_MATCH_SUB },
      |  ^
In file included from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/http_acl.c:29:
include/types/acl.h:95:8: note: 'parse' declared here
   95 |  int (*parse)(const char *text, struct pattern *pattern, int flags, char **err);
      |        ^~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from include/common/chunk.h:28,
                 from src/http_acl.c:19:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct acl_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/http_acl.c:184:1: note: in expansion of macro 'INITCALL1'
  184 | INITCALL1(STG_REGISTER, acl_register_keywords, &acl_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/xxhash.o
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/lru.o
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/import/lru.h:25,
                 from src/lru.c:25:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hdr_idx.o
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/protocol.o
In file included from include/common/standard.h:36,
                 from src/protocol.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/protocol.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/protocol.c:19:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/protocol.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/protocol.c:19:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from src/protocol.c:18:
src/protocol.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(long unsigned int *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/hathreads.h:260:2: note: in expansion of macro 'INITCALL1'
  260 |  INITCALL1(STG_LOCK, ha_spin_init, &(lock))
      |  ^~~~~~~~~
src/protocol.c:31:1: note: in expansion of macro '__decl_spinlock'
   31 | __decl_spinlock(proto_lock);
      | ^~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hpack-enc.o
In file included from include/common/http.h:27,
                 from include/common/hpack-enc.h:35,
                 from src/hpack-enc.c:33:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/standard.h:36,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/global.h:30,
                 from src/hpack-enc.c:37:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/global.h:30,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/hpack-enc.c:37:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/hpack-enc.c:37:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/hpack-enc.c:37:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from include/common/config.h:25,
                 from include/common/debug.h:25,
                 from include/common/buf.h:35,
                 from include/common/hpack-enc.h:33,
                 from src/hpack-enc.c:33:
src/hpack-enc.c: In function 'hpack_encode_header':
src/hpack-enc.c:180:44: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  180 |  if (likely(n.len < 127 && len + 2 + n.len <= size)) {
      |                                            ^~
include/common/compiler.h:124:38: note: in definition of macro 'likely'
  124 | #define likely(x) (__builtin_expect((x) != 0, 1))
      |                                      ^
src/hpack-enc.c:187:48: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  187 |    len + 1 + hpack_len_to_bytes(n.len) + n.len <= size) {
      |                                                ^~
src/hpack-enc.c:201:46: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  201 |      len + hpack_len_to_bytes(v.len) + v.len > size) {
      |                                              ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/mailers.o
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/base64.o
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/version.o
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hash.o
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/hpack-huff.o
src/hpack-huff.c: In function 'huff_enc':
src/hpack-huff.c:1395:35: warning: unused parameter 'out' [-Wunused-parameter]
 1395 | int huff_enc(const char *s, char *out)
      |                             ~~~~~~^~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/arg.o
In file included from include/common/standard.h:36,
                 from src/arg.c:17:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/arg.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/arg.c:17:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/arg.c:17:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/http.h:27,
                 from include/types/sample.h:30,
                 from include/types/vars.h:7,
                 from include/types/arg.h:31,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/arg.c:17:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/proto/arg.h:25,
                 from src/arg.c:18:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
src/arg.c: In function 'make_arg_list':
src/arg.c:117:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  117 |  for (nbarg = 0; nbarg < ARGM_NBARGS && ((mask >> (nbarg * ARGT_BITS)) & ARGT_MASK); nbarg++);
      |                        ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/dict.o
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from src/dict.c:6:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from src/dict.c:6:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from src/dict.c:6:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/dict.h:5,
                 from include/proto/dict.h:4,
                 from src/dict.c:3:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from src/dict.c:6:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/debug.o
In file included from include/common/standard.h:36,
                 from src/debug.c:23:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/debug.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/debug.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/debug.c:23:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/debug.c:25:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/debug.c:25:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/debug.c:25:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/debug.c:25:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/debug.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/debug.c:25:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/debug.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/debug.c:25:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/debug.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/debug.c:25:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/debug.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/cli.h:26,
                 from src/debug.c:28:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/debug.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/cli.h:26,
                 from src/debug.c:28:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/debug.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/debug.c:25:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/debug.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/debug.c:25:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/debug.c:23:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/debug.c:25:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/debug.c:25:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/debug.c:31:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/debug.c:31:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/debug.c:31:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/debug.c:31:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/debug.c:31:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/debug.c: In function 'ha_thread_dump':
src/debug.c:78:10: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   78 |  if (thr != tid)
      |          ^~
src/debug.c: In function 'debug_handler':
src/debug.c:471:24: warning: unused parameter 'sig' [-Wunused-parameter]
  471 | void debug_handler(int sig, siginfo_t *si, void *arg)
      |                    ~~~~^~~
src/debug.c:471:40: warning: unused parameter 'si' [-Wunused-parameter]
  471 | void debug_handler(int sig, siginfo_t *si, void *arg)
      |                             ~~~~~~~~~~~^~
src/debug.c:471:50: warning: unused parameter 'arg' [-Wunused-parameter]
  471 | void debug_handler(int sig, siginfo_t *si, void *arg)
      |                                            ~~~~~~^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from src/debug.c:18:
src/debug.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:318:2: note: in expansion of macro 'INITCALL1'
  318 |  INITCALL1(STG_REGISTER, hap_register_post_check, (fct))
      |  ^~~~~~~~~
src/debug.c:543:1: note: in expansion of macro 'REGISTER_POST_CHECK'
  543 | REGISTER_POST_CHECK(init_debug);
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:330:2: note: in expansion of macro 'INITCALL1'
  330 |  INITCALL1(STG_REGISTER, hap_register_per_thread_init, (fct))
      |  ^~~~~~~~~
src/debug.c:544:1: note: in expansion of macro 'REGISTER_PER_THREAD_INIT'
  544 | REGISTER_PER_THREAD_INIT(init_debug_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:561:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
  561 |  { { "show", "threads", NULL },    "show threads   : show some threads debugging information",   NULL, cli_io_handler_show_threads, NULL },
      |  ^
In file included from include/proto/cli.h:28,
                 from src/debug.c:28:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/debug.c:562:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
  562 |  {{},}
      |  ^
In file included from include/proto/cli.h:28,
                 from src/debug.c:28:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from include/common/buf.h:35,
                 from src/debug.c:18:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/debug.c:565:1: note: in expansion of macro 'INITCALL1'
  565 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/activity.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/activity.c:13:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/channel.h:32,
                 from src/activity.c:19:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from src/activity.c:19:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/activity.c:22:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/activity.c:22:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/activity.c: In function 'cfg_parse_prof_tasks':
src/activity.c:44:50: warning: unused parameter 'section_type' [-Wunused-parameter]
   44 | static int cfg_parse_prof_tasks(char **args, int section_type, struct proxy *curpx,
      |                                              ~~~~^~~~~~~~~~~~
src/activity.c:44:78: warning: unused parameter 'curpx' [-Wunused-parameter]
   44 | static int cfg_parse_prof_tasks(char **args, int section_type, struct proxy *curpx,
      |                                                                ~~~~~~~~~~~~~~^~~~~
src/activity.c:45:47: warning: unused parameter 'defpx' [-Wunused-parameter]
   45 |                                 struct proxy *defpx, const char *file, int line,
      |                                 ~~~~~~~~~~~~~~^~~~~
src/activity.c:45:66: warning: unused parameter 'file' [-Wunused-parameter]
   45 |                                 struct proxy *defpx, const char *file, int line,
      |                                                      ~~~~~~~~~~~~^~~~
src/activity.c:45:76: warning: unused parameter 'line' [-Wunused-parameter]
   45 |                                 struct proxy *defpx, const char *file, int line,
      |                                                                        ~~~~^~~~
src/activity.c: In function 'cli_parse_set_profiling':
src/activity.c:65:55: warning: unused parameter 'payload' [-Wunused-parameter]
   65 | static int cli_parse_set_profiling(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                 ~~~~~~^~~~~~~
src/activity.c:65:93: warning: unused parameter 'private' [-Wunused-parameter]
   65 | static int cli_parse_set_profiling(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                       ~~~~~~^~~~~~~
In file included from include/common/cfgparse.h:27,
                 from src/activity.c:13:
src/activity.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/activity.c:138:1: note: in expansion of macro 'INITCALL1'
  138 | INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
      | ^~~~~~~~~
src/activity.c:142:2: warning: missing initializer for field 'private' of 'struct cli_kw' [-Wmissing-field-initializers]
  142 |  { { "show", "profiling", NULL }, "show profiling : show CPU profiling options",   NULL, cli_io_handler_show_profiling, NULL },
      |  ^
In file included from include/proto/cli.h:28,
                 from src/activity.c:20:
include/types/cli.h:33:8: note: 'private' declared here
   33 |  void *private;
      |        ^~~~~~~
src/activity.c:143:2: warning: missing initializer for field 'io_release' of 'struct cli_kw' [-Wmissing-field-initializers]
  143 |  { { "set",  "profiling", NULL }, "set  profiling : enable/disable CPU profiling", cli_parse_set_profiling,  NULL },
      |  ^
In file included from include/proto/cli.h:28,
                 from src/activity.c:20:
include/types/cli.h:32:9: note: 'io_release' declared here
   32 |  void (*io_release)(struct appctx *appctx);
      |         ^~~~~~~~~~
src/activity.c:144:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
  144 |  {{},}
      |  ^
In file included from include/proto/cli.h:28,
                 from src/activity.c:20:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/activity.c:13:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/activity.c:147:1: note: in expansion of macro 'INITCALL1'
  147 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      ebtree/ebtree.o
In file included from ebtree/ebtree.c:21:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/h2.o
In file included from include/common/http-hdr.h:31,
                 from include/common/h2.h:33,
                 from src/h2.c:30:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/common/standard.h:36,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/htx.h:31,
                 from include/common/h2.h:34,
                 from src/h2.c:30:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/common/h2.h:34,
                 from src/h2.c:30:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
src/h2.c: In function 'h2_make_h1_request':
src/h2.c:191:23: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  191 |    for (i = !!phdr; i < list[idx].n.len; i++)
      |                       ^
src/h2.c: In function 'h2_make_h1_trailers':
src/h2.c:402:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  402 |   for (i = 0; i < list[idx].n.len; i++)
      |                 ^
src/h2.c: In function 'h2_make_htx_request':
src/h2.c:653:23: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  653 |    for (i = !!phdr; i < list[idx].n.len; i++)
      |                       ^
src/h2.c: In function 'h2_make_htx_response':
src/h2.c:909:23: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
  909 |    for (i = !!phdr; i < list[idx].n.len; i++)
      |                       ^
src/h2.c: In function 'h2_make_htx_trailers':
src/h2.c:1040:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
 1040 |   for (i = 0; i < list[idx].n.len; i++)
      |                 ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/wdt.o
In file included from include/common/standard.h:36,
                 from src/wdt.c:19:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/wdt.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from src/wdt.c:19:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from src/wdt.c:19:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/types/global.h:33,
                 from src/wdt.c:20:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/wdt.c:20:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/wdt.c:20:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from src/wdt.c:20:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/wdt.c:20:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/wdt.c:22:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from src/wdt.c:22:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/wdt.c:20:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/wdt.c:20:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from src/wdt.c:19:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from src/wdt.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from src/wdt.c:20:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from src/wdt.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
src/wdt.c: In function 'wdt_handler':
src/wdt.c:116:10: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  116 |  if (thr != tid)
      |          ^~
src/wdt.c:46:48: warning: unused parameter 'arg' [-Wunused-parameter]
   46 | void wdt_handler(int sig, siginfo_t *si, void *arg)
      |                                          ~~~~~~^~~
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/common/debug.h:26,
                 from src/wdt.c:16:
src/wdt.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:318:2: note: in expansion of macro 'INITCALL1'
  318 |  INITCALL1(STG_REGISTER, hap_register_post_check, (fct))
      |  ^~~~~~~~~
src/wdt.c:179:1: note: in expansion of macro 'REGISTER_POST_CHECK'
  179 | REGISTER_POST_CHECK(init_wdt);
      | ^~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:330:2: note: in expansion of macro 'INITCALL1'
  330 |  INITCALL1(STG_REGISTER, hap_register_per_thread_init, (fct))
      |  ^~~~~~~~~
src/wdt.c:180:1: note: in expansion of macro 'REGISTER_PER_THREAD_INIT'
  180 | REGISTER_PER_THREAD_INIT(init_wdt_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(void (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:334:2: note: in expansion of macro 'INITCALL1'
  334 |  INITCALL1(STG_REGISTER, hap_register_per_thread_deinit, (fct))
      |  ^~~~~~~~~
src/wdt.c:181:1: note: in expansion of macro 'REGISTER_PER_THREAD_DEINIT'
  181 | REGISTER_PER_THREAD_DEINIT(deinit_wdt_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      ebtree/eb32sctree.o
In file included from ebtree/eb32sctree.h:24,
                 from ebtree/eb32sctree.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32sctree.h:24,
                 from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
ebtree/eb32sctree.c: In function 'eb32sc_insert_dup':
ebtree/eb32sctree.c:33:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
   33 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/eb32sctree.c:34:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
   34 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/eb32sctree.c:35:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
   35 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
In file included from ebtree/eb32sctree.h:24,
                 from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.c:50:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   50 |     eb32 = container_of(sub, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32sctree.h:24,
                 from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.c:59:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |   eb32 = container_of(head, struct eb32sc_node, node);
      |                                    ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
ebtree/eb32sctree.c:70:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
   70 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/eb32sctree.c:75:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
In file included from ebtree/eb32sctree.h:24,
                 from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.c:77:35: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |   eb32 = container_of(new, struct eb32sc_node, node);
      |                                   ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
ebtree/eb32sctree.c:90:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
   90 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/eb32sctree.c:95:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
In file included from ebtree/eb32sctree.h:24,
                 from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.c:97:35: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |   eb32 = container_of(new, struct eb32sc_node, node);
      |                                   ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32sctree.c:23:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
ebtree/eb32sctree.c: In function 'eb32sc_insert':
ebtree/eb32sctree.c:122:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  122 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:149:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  149 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:175:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  175 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:181:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:186:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  186 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:187:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  187 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:188:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  188 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:231:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  231 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c: In function 'eb32sc_lookup_ge':
ebtree/eb32sctree.c:275:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  275 |     troot = eb_dotag(&node->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:287:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |     troot = eb_dotag(&node->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c: In function 'eb32sc_lookup_ge_or_first':
ebtree/eb32sctree.c:343:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  343 |     troot = eb_dotag(&eb32->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:355:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  355 |     troot = eb_dotag(&eb32->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c: In function 'eb32sc_delete':
ebtree/eb32sctree.c:451:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  451 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:458:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32sctree.c:462:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  462 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/mworker.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mworker.c:20:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/mworker.c:38:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from include/proto/stream_interface.h:31,
                 from src/mworker.c:38:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/mworker.c:38:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/mworker.c:38:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
src/mworker.c: In function 'mworker_catch_sighup':
src/mworker.c:231:47: warning: unused parameter 'sh' [-Wunused-parameter]
  231 | void mworker_catch_sighup(struct sig_handler *sh)
      |                           ~~~~~~~~~~~~~~~~~~~~^~
src/mworker.c: In function 'mworker_catch_sigchld':
src/mworker.c:253:48: warning: unused parameter 'sh' [-Wunused-parameter]
  253 | void mworker_catch_sigchld(struct sig_handler *sh)
      |                            ~~~~~~~~~~~~~~~~~~~~^~
In file included from include/common/cfgparse.h:27,
                 from src/mworker.c:20:
src/mworker.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
include/types/global.h:330:2: note: in expansion of macro 'INITCALL1'
  330 |  INITCALL1(STG_REGISTER, hap_register_per_thread_init, (fct))
      |  ^~~~~~~~~
src/mworker.c:392:1: note: in expansion of macro 'REGISTER_PER_THREAD_INIT'
  392 | REGISTER_PER_THREAD_INIT(mworker_pipe_register_per_thread);
      | ^~~~~~~~~~~~~~~~~~~~~~~~
src/mworker.c: In function 'cli_parse_reload':
src/mworker.c:554:36: warning: unused parameter 'args' [-Wunused-parameter]
  554 | static int cli_parse_reload(char **args, char *payload, struct appctx *appctx, void *private)
      |                             ~~~~~~~^~~~
src/mworker.c:554:48: warning: unused parameter 'payload' [-Wunused-parameter]
  554 | static int cli_parse_reload(char **args, char *payload, struct appctx *appctx, void *private)
      |                                          ~~~~~~^~~~~~~
src/mworker.c:554:86: warning: unused parameter 'private' [-Wunused-parameter]
  554 | static int cli_parse_reload(char **args, char *payload, struct appctx *appctx, void *private)
      |                                                                                ~~~~~~^~~~~~~
src/mworker.c: In function 'mworker_parse_global_max_reloads':
src/mworker.c:565:62: warning: unused parameter 'section_type' [-Wunused-parameter]
  565 | static int mworker_parse_global_max_reloads(char **args, int section_type, struct proxy *curpx,
      |                                                          ~~~~^~~~~~~~~~~~
src/mworker.c:565:90: warning: unused parameter 'curpx' [-Wunused-parameter]
  565 | static int mworker_parse_global_max_reloads(char **args, int section_type, struct proxy *curpx,
      |                                                                            ~~~~~~~~~~~~~~^~~~~
src/mworker.c:566:26: warning: unused parameter 'defpx' [-Wunused-parameter]
  566 |            struct proxy *defpx, const char *file, int linenum, char **err)
      |            ~~~~~~~~~~~~~~^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/mworker.c:20:
src/mworker.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cfg_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/mworker.c:625:1: note: in expansion of macro 'INITCALL1'
  625 | INITCALL1(STG_REGISTER, cfg_register_keywords, &mworker_kws);
      | ^~~~~~~~~
src/mworker.c:635:2: warning: missing initializer for field 'usage' of 'struct cli_kw' [-Wmissing-field-initializers]
  635 |  {{},}
      |  ^
In file included from src/mworker.c:25:
include/types/cli.h:29:14: note: 'usage' declared here
   29 |  const char *usage;   /* usage message */
      |              ^~~~~
In file included from include/common/cfgparse.h:27,
                 from src/mworker.c:20:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct cli_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
src/mworker.c:638:1: note: in expansion of macro 'INITCALL1'
  638 | INITCALL1(STG_REGISTER, cli_register_kw, &cli_kws);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      ebtree/eb32tree.o
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.c: In function 'eb32_lookup_le':
ebtree/eb32tree.c:103:60: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |     return eb32_entry(eb_walk_down(troot, EB_RGHT), struct eb32_node, node);
      |                                                            ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.c:103:12: note: in expansion of macro 'eb32_entry'
  103 |     return eb32_entry(eb_walk_down(troot, EB_RGHT), struct eb32_node, node);
      |            ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.c:129:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  node = eb32_entry(eb_walk_down(troot, EB_RGHT), struct eb32_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.c:129:9: note: in expansion of macro 'eb32_entry'
  129 |  node = eb32_entry(eb_walk_down(troot, EB_RGHT), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.c: In function 'eb32_lookup_ge':
ebtree/eb32tree.c:191:60: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  191 |     return eb32_entry(eb_walk_down(troot, EB_LEFT), struct eb32_node, node);
      |                                                            ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.c:191:12: note: in expansion of macro 'eb32_entry'
  191 |     return eb32_entry(eb_walk_down(troot, EB_LEFT), struct eb32_node, node);
      |            ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from ebtree/eb32tree.c:23:
ebtree/eb32tree.c:216:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |  node = eb32_entry(eb_walk_down(troot, EB_LEFT), struct eb32_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.c:216:9: note: in expansion of macro 'eb32_entry'
  216 |  node = eb32_entry(eb_walk_down(troot, EB_LEFT), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb32tree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/http_msg.o
In file included from include/proto/channel.h:31,
                 from src/http_msg.c:14:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/htx.h:28,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/channel.h:34,
                 from src/http_msg.c:14:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/proto/channel.h:36,
                 from src/http_msg.c:14:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/http_msg.c:14:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/channel.h:41,
                 from src/http_msg.c:14:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/common/htx.h:31,
                 from include/proto/channel.h:32,
                 from src/http_msg.c:14:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/global.h:32,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/global.h:33,
                 from include/proto/channel.h:37,
                 from src/http_msg.c:14:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/channel.h:41,
                 from src/http_msg.c:14:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from src/http_msg.c:14:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from src/http_msg.c:16:
include/proto/proto_http.h: In function 'http_body_bytes':
include/proto/proto_http.h:217:10: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
  217 |  if (len > msg->body_len)
      |          ^
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/mworker-prog.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from src/mworker-prog.c:22:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/common/cfgparse.h:27,
                 from src/mworker-prog.c:22:
src/mworker-prog.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)(const char *, int,  char **, int), int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:149:2: note: in expansion of macro 'INITCALL3'
  149 |  INITCALL3(STG_REGISTER, cfg_register_section, (name), (parse), (post))
      |  ^~~~~~~~~
src/mworker-prog.c:284:1: note: in expansion of macro 'REGISTER_CONFIG_SECTION'
  284 | REGISTER_CONFIG_SECTION("program", cfg_parse_program, NULL);
      | ^~~~~~~~~~~~~~~~~~~~~~~
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'int (*)(char *, int (*)())' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:169:2: note: in expansion of macro '_DECLARE_INITCALL'
  169 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, 0)
      |  ^~~~~~~~~~~~~~~~~
include/common/cfgparse.h:152:2: note: in expansion of macro 'INITCALL2'
  152 |  INITCALL2(STG_REGISTER, cfg_register_postparser, (name), (parser))
      |  ^~~~~~~~~
src/mworker-prog.c:285:1: note: in expansion of macro 'REGISTER_CONFIG_POSTPARSER'
  285 | REGISTER_CONFIG_POSTPARSER("program", cfg_program_postparser);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      ebtree/ebistree.o
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from ebtree/ebistree.c:23:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from ebtree/ebistree.c:23:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.c:23:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebistree.h:27,
                 from ebtree/ebistree.c:23:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from ebtree/ebistree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.c:23:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      ebtree/ebimtree.o
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebimtree.c:23:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebimtree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebimtree.c:24:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebpttree.h:24,
                 from ebtree/ebimtree.c:23:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebimtree.c:23:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebimtree.c:24:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      ebtree/ebsttree.o
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebsttree.c:23:
ebtree/ebsttree.h: In function '__ebst_insert':
ebtree/ebsttree.h:149:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  149 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:176:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  176 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:177:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  177 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:178:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  178 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:179:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  179 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:216:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebsttree.h:26,
                 from ebtree/ebsttree.c:23:
ebtree/ebsttree.h:262:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  262 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebsttree.h:27,
                 from ebtree/ebsttree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebsttree.c:23:
ebtree/ebsttree.h:278:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  278 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:279:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  279 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:303:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  303 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebsttree.h:319:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  319 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      ebtree/eb64tree.o
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.c: In function 'eb64_lookup_le':
ebtree/eb64tree.c:103:60: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |     return eb64_entry(eb_walk_down(troot, EB_RGHT), struct eb64_node, node);
      |                                                            ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.c:103:12: note: in expansion of macro 'eb64_entry'
  103 |     return eb64_entry(eb_walk_down(troot, EB_RGHT), struct eb64_node, node);
      |            ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.c:129:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  node = eb64_entry(eb_walk_down(troot, EB_RGHT), struct eb64_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.c:129:9: note: in expansion of macro 'eb64_entry'
  129 |  node = eb64_entry(eb_walk_down(troot, EB_RGHT), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.c: In function 'eb64_lookup_ge':
ebtree/eb64tree.c:191:60: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  191 |     return eb64_entry(eb_walk_down(troot, EB_LEFT), struct eb64_node, node);
      |                                                            ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.c:191:12: note: in expansion of macro 'eb64_entry'
  191 |     return eb64_entry(eb_walk_down(troot, EB_LEFT), struct eb64_node, node);
      |            ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb64tree.h:24,
                 from ebtree/eb64tree.c:23:
ebtree/eb64tree.c:216:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |  node = eb64_entry(eb_walk_down(troot, EB_LEFT), struct eb64_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.c:216:9: note: in expansion of macro 'eb64_entry'
  216 |  node = eb64_entry(eb_walk_down(troot, EB_LEFT), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/eb64tree.c:23:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      src/xprt_handshake.o
In file included from include/proto/connection.h:26,
                 from src/xprt_handshake.c:13:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/standard.h:36,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:25,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/common/namespace.h:5,
                 from include/common/standard.h:38,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/fd.h:32,
                 from include/proto/connection.h:30,
                 from src/xprt_handshake.c:13:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/channel.h:26,
                 from include/types/proto_http.h:31,
                 from include/types/hlua.h:12,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/xprt_handshake.c:13:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/xprt_handshake.c:13:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/xprt_handshake.c:13:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/xprt_handshake.c:13:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/xprt_handshake.c:13:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from include/types/ssl_sock.h:26,
                 from include/types/listener.h:30,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/proto/connection.h:28,
                 from src/xprt_handshake.c:13:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/types/hlua.h:13,
                 from include/types/applet.h:26,
                 from include/proto/obj_type.h:27,
                 from include/proto/connection.h:31,
                 from src/xprt_handshake.c:13:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/server.h:35,
                 from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/xprt_handshake.c:13:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from src/xprt_handshake.c:13:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from src/xprt_handshake.c:13:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/channel.h:32,
                 from include/proto/stream_interface.h:32,
                 from src/xprt_handshake.c:14:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/stream_interface.h:32,
                 from src/xprt_handshake.c:14:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
In file included from include/common/hathreads.h:32,
                 from include/common/mini-clist.h:183,
                 from include/common/memory.h:33,
                 from include/proto/connection.h:27,
                 from src/xprt_handshake.c:13:
src/xprt_handshake.c: At top level:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct pool_head **, char *, unsigned int)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:175:2: note: in expansion of macro '_DECLARE_INITCALL'
  175 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, arg2, arg3)
      |  ^~~~~~~~~~~~~~~~~
include/common/memory.h:124:2: note: in expansion of macro 'INITCALL3'
  124 |  INITCALL3(STG_POOL, create_pool_callback, (ptr), (name), (size))
      |  ^~~~~~~~~
include/common/memory.h:134:2: note: in expansion of macro 'REGISTER_POOL'
  134 |  REGISTER_POOL(&ptr, name, size)
      |  ^~~~~~~~~~~~~
src/xprt_handshake.c:25:1: note: in expansion of macro 'DECLARE_STATIC_POOL'
   25 | DECLARE_STATIC_POOL(xprt_handshake_ctx_pool, "xprt_handshake_ctx_pool", sizeof(struct xprt_handshake_ctx));
      | ^~~~~~~~~~~~~~~~~~~
src/xprt_handshake.c: In function 'xprt_handshake_from_buf':
src/xprt_handshake.c:30:58: warning: unused parameter 'conn' [-Wunused-parameter]
   30 | static size_t xprt_handshake_from_buf(struct connection *conn, void *xprt_ctx, const struct buffer *buf, size_t count, int flags)
      |                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/xprt_handshake.c:30:70: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
   30 | static size_t xprt_handshake_from_buf(struct connection *conn, void *xprt_ctx, const struct buffer *buf, size_t count, int flags)
      |                                                                ~~~~~~^~~~~~~~
src/xprt_handshake.c:30:101: warning: unused parameter 'buf' [-Wunused-parameter]
   30 | static size_t xprt_handshake_from_buf(struct connection *conn, void *xprt_ctx, const struct buffer *buf, size_t count, int flags)
      |                                                                                ~~~~~~~~~~~~~~~~~~~~~^~~
src/xprt_handshake.c:30:113: warning: unused parameter 'count' [-Wunused-parameter]
   30 | static size_t xprt_handshake_from_buf(struct connection *conn, void *xprt_ctx, const struct buffer *buf, size_t count, int flags)
      |                                                                                                          ~~~~~~~^~~~~
src/xprt_handshake.c:30:124: warning: unused parameter 'flags' [-Wunused-parameter]
   30 | static size_t xprt_handshake_from_buf(struct connection *conn, void *xprt_ctx, const struct buffer *buf, size_t count, int flags)
      |                                                                                                                        ~~~~^~~~~
src/xprt_handshake.c: In function 'xprt_handshake_to_buf':
src/xprt_handshake.c:35:56: warning: unused parameter 'conn' [-Wunused-parameter]
   35 | static size_t xprt_handshake_to_buf(struct connection *conn, void *xprt_ctx, struct buffer *buf, size_t count, int flags)
      |                                     ~~~~~~~~~~~~~~~~~~~^~~~
src/xprt_handshake.c:35:68: warning: unused parameter 'xprt_ctx' [-Wunused-parameter]
   35 | static size_t xprt_handshake_to_buf(struct connection *conn, void *xprt_ctx, struct buffer *buf, size_t count, int flags)
      |                                                              ~~~~~~^~~~~~~~
src/xprt_handshake.c:35:93: warning: unused parameter 'buf' [-Wunused-parameter]
   35 | static size_t xprt_handshake_to_buf(struct connection *conn, void *xprt_ctx, struct buffer *buf, size_t count, int flags)
      |                                                                              ~~~~~~~~~~~~~~~^~~
src/xprt_handshake.c:35:105: warning: unused parameter 'count' [-Wunused-parameter]
   35 | static size_t xprt_handshake_to_buf(struct connection *conn, void *xprt_ctx, struct buffer *buf, size_t count, int flags)
      |                                                                                                  ~~~~~~~^~~~~
src/xprt_handshake.c:35:116: warning: unused parameter 'flags' [-Wunused-parameter]
   35 | static size_t xprt_handshake_to_buf(struct connection *conn, void *xprt_ctx, struct buffer *buf, size_t count, int flags)
      |                                                                                                                ~~~~^~~~~
src/xprt_handshake.c: In function 'xprt_handshake_io_cb':
src/xprt_handshake.c:40:55: warning: unused parameter 't' [-Wunused-parameter]
   40 | static struct task *xprt_handshake_io_cb(struct task *t, void *bctx, unsigned short state)
      |                                          ~~~~~~~~~~~~~^
src/xprt_handshake.c:40:85: warning: unused parameter 'state' [-Wunused-parameter]
   40 | static struct task *xprt_handshake_io_cb(struct task *t, void *bctx, unsigned short state)
      |                                                                      ~~~~~~~~~~~~~~~^~~~~
src/xprt_handshake.c: In function 'xprt_handshake_subscribe':
src/xprt_handshake.c:207:56: warning: unused parameter 'conn' [-Wunused-parameter]
  207 | static int xprt_handshake_subscribe(struct connection *conn, void *xprt_ctx, int event_type, void *param)
      |                                     ~~~~~~~~~~~~~~~~~~~^~~~
src/xprt_handshake.c: In function 'xprt_handshake_unsubscribe':
src/xprt_handshake.c:232:58: warning: unused parameter 'conn' [-Wunused-parameter]
  232 | static int xprt_handshake_unsubscribe(struct connection *conn, void *xprt_ctx, int event_type, void *param)
      |                                       ~~~~~~~~~~~~~~~~~~~^~~~
src/xprt_handshake.c: In function 'xprt_handshake_add_xprt':
src/xprt_handshake.c:255:55: warning: unused parameter 'conn' [-Wunused-parameter]
  255 | static int xprt_handshake_add_xprt(struct connection *conn, void *xprt_ctx, void *toadd_ctx, const struct xprt_ops *toadd_ops, void **oldxprt_ctx, const struct xprt_ops **oldxprt_ops)
      |                                    ~~~~~~~~~~~~~~~~~~~^~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      ebtree/ebmbtree.o
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/ebmbtree.h:25,
                 from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebmbtree.c:23:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  CC      contrib/prometheus-exporter/service-prometheus.o
In file included from include/types/proxy.h:30,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/common/chunk.h: In function 'chunk_initlen':
include/common/chunk.h:78:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
   78 |  if (len < 0 || (size && len > size))
      |                              ^
In file included from include/common/http.h:27,
                 from include/types/proxy.h:32,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/common/ist.h: In function 'ist2str':
include/common/ist.h:488:74: warning: unused parameter 'count' [-Wunused-parameter]
  488 | static inline struct ist ist2str(char *dst, const struct ist src, size_t count)
      |                                                                   ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_lc':
include/common/ist.h:533:77: warning: unused parameter 'count' [-Wunused-parameter]
  533 | static inline struct ist ist2str_lc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
include/common/ist.h: In function 'ist2str_uc':
include/common/ist.h:578:77: warning: unused parameter 'count' [-Wunused-parameter]
  578 | static inline struct ist ist2str_uc(char *dst, const struct ist src, size_t count)
      |                                                                      ~~~~~~~^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebtree.h: In function '__eb_insert_dup':
ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
ebtree/ebtree.h: In function '__eb_delete':
ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function 'eb32_first':
ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h: In function 'eb32_last':
ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h: In function 'eb32_next':
ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h: In function 'eb32_prev':
ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h: In function 'eb32_next_dup':
ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_dup':
ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h: In function 'eb32_next_unique':
ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h: In function 'eb32_prev_unique':
ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h: In function '__eb32_insert':
ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h: In function '__eb32i_insert':
ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h: In function 'eb64_first':
ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h: In function 'eb64_last':
ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h: In function 'eb64_next':
ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h: In function 'eb64_prev':
ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h: In function 'eb64_next_dup':
ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_dup':
ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h: In function 'eb64_next_unique':
ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h: In function 'eb64_prev_unique':
ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h: In function '__eb64_insert':
ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h: In function '__eb64i_insert':
ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebpttree.h:26,
                 from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h: In function 'ebpt_first':
ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h: In function 'ebpt_last':
ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h: In function 'ebpt_next':
ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev':
ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_dup':
ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_dup':
ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h: In function 'ebpt_next_unique':
ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h: In function 'ebpt_prev_unique':
ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebimtree.h: In function '__ebim_insert':
ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ebtree/ebistree.h:29,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebistree.h: In function '__ebis_insert':
ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ebtree/ebistree.h:28,
                 from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from include/types/proxy.h:39,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function 'ebmb_first':
ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function 'ebmb_last':
ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next':
ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev':
ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_dup':
ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function 'ebmb_next_unique':
ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert':
ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/types/stick_table.h:30,
                 from include/types/arg.h:33,
                 from include/types/acl.h:29,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32sctree.h: In function 'eb32sc_walk_down_left':
ebtree/eb32sctree.h:87:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32sctree.h:97:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32sc_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |    eb32 = container_of(node, struct eb32sc_node, node);
      |                                     ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from include/common/standard.h:40,
                 from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
ebtree/eb32sctree.h:45:8: note: defined here
   45 | struct eb32sc_node {
      |        ^~~~~~~~~~~
In file included from include/types/listener.h:36,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/common/standard.h: In function 'is_inet_addr':
include/common/standard.h:1051:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 1051 |   for (i = 0; i < sizeof(struct in6_addr) / sizeof(int); i++)
      |                 ^
In file included from include/proto/activity.h:27,
                 from include/common/buffer.h:36,
                 from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/common/time.h: In function 'tv_leaving_poll':
include/common/time.h:597:40: warning: unused parameter 'timeout' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                    ~~~~^~~~~~~
include/common/time.h:597:53: warning: unused parameter 'interrupted' [-Wunused-parameter]
  597 | static inline void tv_leaving_poll(int timeout, int interrupted)
      |                                                 ~~~~^~~~~~~~~~~
In file included from include/types/checks.h:21,
                 from include/types/server.h:44,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/common/buffer.h: In function 'b_alloc_margin':
include/common/buffer.h:172:70: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  172 |  if ((pool_head_buffer->allocated - pool_head_buffer->used + cached) > margin) {
      |                                                                      ^
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/obj_type.h: In function '__objt_listener':
include/proto/obj_type.h:69:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct listener' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return container_of(t, struct listener, obj_type);
      |                                ^~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/listener.h:189:8: note: defined here
  189 | struct listener {
      |        ^~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/obj_type.h: In function '__objt_proxy':
include/proto/obj_type.h:81:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct proxy' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return container_of(t, struct proxy, obj_type);
      |                                ^~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/proxy.h:296:8: note: defined here
  296 | struct proxy {
      |        ^~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/obj_type.h: In function '__objt_server':
include/proto/obj_type.h:93:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct server' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return container_of(t, struct server, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/server.h:198:8: note: defined here
  198 | struct server {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/obj_type.h: In function '__objt_applet':
include/proto/obj_type.h:105:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct applet' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  105 |  return container_of(t, struct applet, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/applet.h:38:8: note: defined here
   38 | struct applet {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/obj_type.h: In function '__objt_appctx':
include/proto/obj_type.h:117:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct appctx' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  117 |  return container_of(t, struct appctx, obj_type);
      |                                ^~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/action.h:27,
                 from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/applet.h:56:8: note: defined here
   56 | struct appctx {
      |        ^~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/obj_type.h: In function '__objt_cs':
include/proto/obj_type.h:129:33: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct conn_stream' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  return (container_of(t, struct conn_stream, obj_type));
      |                                 ^~~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/connection.h:411:8: note: defined here
  411 | struct conn_stream {
      |        ^~~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/obj_type.h: In function '__objt_conn':
include/proto/obj_type.h:141:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct connection' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  141 |  return container_of(t, struct connection, obj_type);
      |                                ^~~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/connection.h:444:8: note: defined here
  444 | struct connection {
      |        ^~~~~~~~~~
In file included from ebtree/eb32tree.h:24,
                 from include/types/proxy.h:38,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/obj_type.h: In function '__objt_dns_srvrq':
include/proto/obj_type.h:153:32: warning: converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct dns_srvrq' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  153 |  return container_of(t, struct dns_srvrq, obj_type);
      |                                ^~~~~~~~~
ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
In file included from include/types/listener.h:38,
                 from include/types/connection.h:31,
                 from include/types/server.h:35,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/obj_type.h:34:6: note: defined here
   34 | enum obj_type {
      |      ^~~~~~~~
In file included from include/types/server.h:37,
                 from include/types/acl.h:33,
                 from include/types/proxy.h:41,
                 from include/proto/log.h:34,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/dns.h:346:8: note: defined here
  346 | struct dns_srvrq {
      |        ^~~~~~~~~
In file included from include/proto/stream.h:32,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/proto/queue.h: In function 'server_has_room':
include/proto/queue.h:80:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   80 |  return !s->maxconn || s->cur_sess < srv_dynamic_maxconn(s);
      |                                    ^
include/proto/queue.h: In function 'may_dequeue_tasks':
include/proto/queue.h:89:31: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
   89 |   (!s->maxconn || s->cur_sess < srv_dynamic_maxconn(s)));
      |                               ^
In file included from contrib/prometheus-exporter/service-prometheus.c:19:
include/common/htx.h: In function 'htx_get_head':
include/common/htx.h:383:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  383 |  return (htx->used ? htx->head : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_tail':
include/common/htx.h:414:34: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'const unsigned int'} due to unsignedness of other operand [-Wsign-compare]
  414 |  return (htx->used ? htx->tail : -1);
      |                                  ^~
include/common/htx.h: In function 'htx_get_prev':
include/common/htx.h:484:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  484 |  if (head == -1 || pos == head)
      |                        ^~
include/common/htx.h: In function 'htx_get_max_blksz':
include/common/htx.h:694:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  694 |  if (max != -1 && free > max)
      |                        ^
In file included from include/proto/session.h:35,
                 from include/proto/connection.h:32,
                 from include/proto/applet.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:27:
include/proto/server.h: In function 'srv_add_to_idle_list':
include/proto/server.h:251:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  251 |      (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
      |                           ^~
include/proto/server.h:260:14: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  260 |   if (retadd > srv->max_idle_conns) {
      |              ^
In file included from include/proto/applet.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:27:
include/proto/connection.h: In function 'conn_get_best_mux_entry':
include/proto/connection.h:972:33: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                 ^~
include/proto/connection.h:972:65: warning: comparison of integer expressions of different signedness: 'enum proto_proxy_mode' and 'int' [-Wsign-compare]
  972 |    if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode))
      |                                                                 ^~
include/proto/connection.h: In function 'conn_get_best_mux':
include/proto/connection.h:986:74: warning: unused parameter 'conn' [-Wunused-parameter]
  986 | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn,
      |                                                       ~~~~~~~~~~~~~~~~~~~^~~~
In file included from include/proto/stream_interface.h:32,
                 from contrib/prometheus-exporter/service-prometheus.c:40:
include/proto/channel.h: In function 'channel_htx_may_recv':
include/proto/channel.h:494:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  494 |  if (rem > global.tune.maxrewrite)
      |          ^
include/proto/channel.h:505:10: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  505 |  if (rem > global.tune.maxrewrite)
      |          ^
contrib/prometheus-exporter/service-prometheus.c: In function 'promex_dump_metric_header':
contrib/prometheus-exporter/service-prometheus.c:1155:73: warning: unused parameter 'htx' [-Wunused-parameter]
 1155 | static int promex_dump_metric_header(struct appctx *appctx, struct htx *htx,
      |                                                             ~~~~~~~~~~~~^~~
contrib/prometheus-exporter/service-prometheus.c: In function 'promex_dump_srv_metrics':
contrib/prometheus-exporter/service-prometheus.c:2088:64: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 2088 |       metric = mkf_u32(FO_CONFIG|FN_LIMIT, (sv->max_idle_conns == -1) ? 0 : sv->max_idle_conns);
      |                                                                ^~
contrib/prometheus-exporter/service-prometheus.c: In function 'promex_appctx_init':
contrib/prometheus-exporter/service-prometheus.c:2369:68: warning: unused parameter 'px' [-Wunused-parameter]
 2369 | static int promex_appctx_init(struct appctx *appctx, struct proxy *px, struct stream *strm)
      |                                                      ~~~~~~~~~~~~~~^~
contrib/prometheus-exporter/service-prometheus.c:2369:87: warning: unused parameter 'strm' [-Wunused-parameter]
 2369 | static int promex_appctx_init(struct appctx *appctx, struct proxy *px, struct stream *strm)
      |                                                                        ~~~~~~~~~~~~~~~^~~~
contrib/prometheus-exporter/service-prometheus.c: In function 'service_parse_prometheus_exporter':
contrib/prometheus-exporter/service-prometheus.c:2463:74: warning: unused parameter 'args' [-Wunused-parameter]
 2463 | static enum act_parse_ret service_parse_prometheus_exporter(const char **args, int *cur_arg, struct proxy *px,
      |                                                             ~~~~~~~~~~~~~^~~~
contrib/prometheus-exporter/service-prometheus.c:2463:85: warning: unused parameter 'cur_arg' [-Wunused-parameter]
 2463 | static enum act_parse_ret service_parse_prometheus_exporter(const char **args, int *cur_arg, struct proxy *px,
      |                                                                                ~~~~~^~~~~~~
contrib/prometheus-exporter/service-prometheus.c: At top level:
contrib/prometheus-exporter/service-prometheus.c:2491:2: warning: missing initializer for field 'match_pfx' of 'struct action_kw' [-Wmissing-field-initializers]
 2491 |  { "prometheus-exporter", service_parse_prometheus_exporter },
      |  ^
In file included from include/proto/stream.h:27,
                 from include/proto/log.h:37,
                 from include/common/cfgparse.h:30,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/types/action.h:183:6: note: 'match_pfx' declared here
  183 |  int match_pfx;
      |      ^~~~~~~~~
In file included from include/common/cfgparse.h:27,
                 from contrib/prometheus-exporter/service-prometheus.c:16:
include/common/initcall.h:109:10: warning: cast between incompatible function types from 'void (*)(struct action_kw_list *)' to 'void (*)(void *, void *, void *)' [-Wcast-function-type]
  109 |   .fct = (void (*)(void *,void *,void *))function,   \
      |          ^
include/common/initcall.h:151:2: note: in expansion of macro '__DECLARE_INITCALL'
  151 |  __DECLARE_INITCALL(__VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~~
include/common/initcall.h:163:2: note: in expansion of macro '_DECLARE_INITCALL'
  163 |  _DECLARE_INITCALL(stage, __LINE__, function, arg1, 0, 0)
      |  ^~~~~~~~~~~~~~~~~
contrib/prometheus-exporter/service-prometheus.c:2495:1: note: in expansion of macro 'INITCALL1'
 2495 | INITCALL1(STG_REGISTER, service_keywords_register, &service_actions);
      | ^~~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
  LD      haproxy
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
+ pushd contrib/halog
~/RPM/BUILD/haproxy-2.0.14/contrib/halog ~/RPM/BUILD/haproxy-2.0.14
+ make halog 'OPTIMIZE=-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic'
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14/contrib/halog'
gcc -pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic  -o halog -I../../include -I../../ebtree ../../ebtree/ebtree.c ../../ebtree/eb32tree.c ../../ebtree/eb64tree.c ../../ebtree/ebmbtree.c ../../ebtree/ebsttree.c ../../ebtree/ebistree.c ../../ebtree/ebimtree.c halog.c fgets2.c
In file included from ../../ebtree/ebtree.c:21:
../../ebtree/ebtree.h: In function '__eb_insert_dup':
../../ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h: In function '__eb_delete':
../../ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/ebtree.h: In function '__eb_insert_dup':
../../ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h: In function '__eb_delete':
../../ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h: In function 'eb32_first':
../../ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_last':
../../ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next':
../../ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev':
../../ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next_dup':
../../ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev_dup':
../../ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next_unique':
../../ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev_unique':
../../ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h: In function '__eb32_insert':
../../ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h: In function '__eb32i_insert':
../../ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.c: In function 'eb32_lookup_le':
../../ebtree/eb32tree.c:103:60: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |     return eb32_entry(eb_walk_down(troot, EB_RGHT), struct eb32_node, node);
      |                                                            ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.c:103:12: note: in expansion of macro 'eb32_entry'
  103 |     return eb32_entry(eb_walk_down(troot, EB_RGHT), struct eb32_node, node);
      |            ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.c:129:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  node = eb32_entry(eb_walk_down(troot, EB_RGHT), struct eb32_node, node);
      |                                                         ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.c:129:9: note: in expansion of macro 'eb32_entry'
  129 |  node = eb32_entry(eb_walk_down(troot, EB_RGHT), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.c: In function 'eb32_lookup_ge':
../../ebtree/eb32tree.c:191:60: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  191 |     return eb32_entry(eb_walk_down(troot, EB_LEFT), struct eb32_node, node);
      |                                                            ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.c:191:12: note: in expansion of macro 'eb32_entry'
  191 |     return eb32_entry(eb_walk_down(troot, EB_LEFT), struct eb32_node, node);
      |            ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.c:216:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |  node = eb32_entry(eb_walk_down(troot, EB_LEFT), struct eb32_node, node);
      |                                                         ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.c:216:9: note: in expansion of macro 'eb32_entry'
  216 |  node = eb32_entry(eb_walk_down(troot, EB_LEFT), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb32tree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/ebtree.h: In function '__eb_insert_dup':
../../ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h: In function '__eb_delete':
../../ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h: In function 'eb64_first':
../../ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_last':
../../ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next':
../../ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev':
../../ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next_dup':
../../ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev_dup':
../../ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next_unique':
../../ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev_unique':
../../ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h: In function '__eb64_insert':
../../ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h: In function '__eb64i_insert':
../../ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.c: In function 'eb64_lookup_le':
../../ebtree/eb64tree.c:103:60: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |     return eb64_entry(eb_walk_down(troot, EB_RGHT), struct eb64_node, node);
      |                                                            ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.c:103:12: note: in expansion of macro 'eb64_entry'
  103 |     return eb64_entry(eb_walk_down(troot, EB_RGHT), struct eb64_node, node);
      |            ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.c:129:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  129 |  node = eb64_entry(eb_walk_down(troot, EB_RGHT), struct eb64_node, node);
      |                                                         ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.c:129:9: note: in expansion of macro 'eb64_entry'
  129 |  node = eb64_entry(eb_walk_down(troot, EB_RGHT), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.c: In function 'eb64_lookup_ge':
../../ebtree/eb64tree.c:191:60: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  191 |     return eb64_entry(eb_walk_down(troot, EB_LEFT), struct eb64_node, node);
      |                                                            ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.c:191:12: note: in expansion of macro 'eb64_entry'
  191 |     return eb64_entry(eb_walk_down(troot, EB_LEFT), struct eb64_node, node);
      |            ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb64tree.h:24,
                 from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.c:216:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |  node = eb64_entry(eb_walk_down(troot, EB_LEFT), struct eb64_node, node);
      |                                                         ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.c:216:9: note: in expansion of macro 'eb64_entry'
  216 |  node = eb64_entry(eb_walk_down(troot, EB_LEFT), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/eb64tree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebtree.h: In function '__eb_insert_dup':
../../ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h: In function '__eb_delete':
../../ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h: In function 'ebmb_first':
../../ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_last':
../../ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next':
../../ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev':
../../ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next_dup':
../../ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
../../ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next_unique':
../../ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
../../ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h: In function '__ebmb_insert':
../../ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
../../ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
../../ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebmbtree.h:25,
                 from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebmbtree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebtree.h: In function '__eb_insert_dup':
../../ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h: In function '__eb_delete':
../../ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h: In function 'ebmb_first':
../../ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_last':
../../ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next':
../../ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev':
../../ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next_dup':
../../ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
../../ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next_unique':
../../ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
../../ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h: In function '__ebmb_insert':
../../ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
../../ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
../../ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebsttree.c:23:
../../ebtree/ebsttree.h: In function '__ebst_insert':
../../ebtree/ebsttree.h:149:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  149 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:176:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  176 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:177:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  177 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:178:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  178 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:179:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  179 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:216:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebsttree.h:26,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebsttree.h:262:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  262 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from ../../ebtree/ebsttree.c:23:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebsttree.c:23:
../../ebtree/ebsttree.h:278:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  278 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:279:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  279 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:303:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  303 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:319:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  319 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebtree.h: In function '__eb_insert_dup':
../../ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h: In function '__eb_delete':
../../ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h: In function 'eb32_first':
../../ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_last':
../../ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next':
../../ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev':
../../ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next_dup':
../../ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev_dup':
../../ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next_unique':
../../ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev_unique':
../../ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h: In function '__eb32_insert':
../../ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h: In function '__eb32i_insert':
../../ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_first':
../../ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_last':
../../ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next':
../../ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev':
../../ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next_dup':
../../ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev_dup':
../../ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next_unique':
../../ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev_unique':
../../ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h: In function '__eb64_insert':
../../ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h: In function '__eb64i_insert':
../../ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_first':
../../ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_last':
../../ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next':
../../ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev':
../../ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next_dup':
../../ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev_dup':
../../ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next_unique':
../../ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev_unique':
../../ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:29,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebimtree.h: In function '__ebim_insert':
../../ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:29,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.c:23:
../../ebtree/ebistree.h: In function '__ebis_insert':
../../ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebistree.h:27,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from ../../ebtree/ebistree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.c:23:
../../ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebtree.h: In function '__eb_insert_dup':
../../ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h: In function '__eb_delete':
../../ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h: In function 'eb32_first':
../../ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_last':
../../ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next':
../../ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev':
../../ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next_dup':
../../ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev_dup':
../../ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next_unique':
../../ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev_unique':
../../ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h: In function '__eb32_insert':
../../ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h: In function '__eb32i_insert':
../../ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:25,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_first':
../../ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_last':
../../ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next':
../../ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev':
../../ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next_dup':
../../ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev_dup':
../../ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next_unique':
../../ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev_unique':
../../ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h: In function '__eb64_insert':
../../ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h: In function '__eb64i_insert':
../../ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebpttree.h:26,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_first':
../../ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_last':
../../ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next':
../../ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev':
../../ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next_dup':
../../ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev_dup':
../../ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next_unique':
../../ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev_unique':
../../ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebimtree.c:24:
../../ebtree/ebimtree.h: In function '__ebim_insert':
../../ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/ebpttree.h:24,
                 from ../../ebtree/ebimtree.c:23:
../../ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebimtree.c:23:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebimtree.c:24:
../../ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebtree.h: In function '__eb_insert_dup':
../../ebtree/ebtree.h:471:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  471 |  eb_troot_t *new_left = eb_dotag(&new->branches, EB_LEFT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:472:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |  eb_troot_t *new_rght = eb_dotag(&new->branches, EB_RGHT);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:473:34: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  473 |  eb_troot_t *new_leaf = eb_dotag(&new->branches, EB_LEAF);
      |                                  ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:490:40: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  490 |   head->branches.b[EB_RGHT] = eb_dotag(&new->branches, EB_NODE);
      |                                        ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:495:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  495 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_LEAF);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:508:37: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  508 |   head->branches.b[side] = eb_dotag(&new->branches, EB_NODE);
      |                                     ^~~~~~~~~~~~~~
../../ebtree/ebtree.h:513:39: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  513 |   new->branches.b[EB_LEFT] = eb_dotag(&sub->branches, EB_NODE);
      |                                       ^~~~~~~~~~~~~~
../../ebtree/ebtree.h: In function '__eb_delete':
../../ebtree/ebtree.h:761:32: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  761 |  gparent->b[gpside] = eb_dotag(&parent->branches, EB_NODE);
      |                                ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:767:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  767 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/ebtree.h:770:14: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  770 |     eb_dotag(&parent->branches, pside);
      |              ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h: In function 'eb32_first':
../../ebtree/eb32tree.h:57:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:57:9: note: in expansion of macro 'eb32_entry'
   57 |  return eb32_entry(eb_first(root), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h: In function 'eb32_last':
../../ebtree/eb32tree.h:63:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:63:9: note: in expansion of macro 'eb32_entry'
   63 |  return eb32_entry(eb_last(root), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next':
../../ebtree/eb32tree.h:69:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:69:9: note: in expansion of macro 'eb32_entry'
   69 |  return eb32_entry(eb_next(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev':
../../ebtree/eb32tree.h:75:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:75:9: note: in expansion of macro 'eb32_entry'
   75 |  return eb32_entry(eb_prev(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next_dup':
../../ebtree/eb32tree.h:81:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:81:9: note: in expansion of macro 'eb32_entry'
   81 |  return eb32_entry(eb_next_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev_dup':
../../ebtree/eb32tree.h:87:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:87:9: note: in expansion of macro 'eb32_entry'
   87 |  return eb32_entry(eb_prev_dup(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h: In function 'eb32_next_unique':
../../ebtree/eb32tree.h:93:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:93:9: note: in expansion of macro 'eb32_entry'
   93 |  return eb32_entry(eb_next_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h: In function 'eb32_prev_unique':
../../ebtree/eb32tree.h:99:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb32tree.h:99:9: note: in expansion of macro 'eb32_entry'
   99 |  return eb32_entry(eb_prev_unique(&eb32->node), struct eb32_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h: In function '__eb32_insert':
../../ebtree/eb32tree.h:255:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  255 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:280:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:301:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  301 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:306:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  306 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:311:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  311 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:312:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  312 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:313:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  313 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h:339:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  339 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h:363:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  363 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h: In function '__eb32i_insert':
../../ebtree/eb32tree.h:387:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  387 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:413:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  413 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:434:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  434 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:439:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  439 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:444:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  444 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:445:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  445 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb32tree.h:446:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  446 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb32tree.h:472:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb32_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  472 |    return container_of(ret, struct eb32_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:23:
../../ebtree/eb32tree.h:42:8: note: defined here
   42 | struct eb32_node {
      |        ^~~~~~~~~
../../ebtree/eb32tree.h:496:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  496 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h: In function 'eb64_first':
../../ebtree/eb64tree.h:61:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:61:9: note: in expansion of macro 'eb64_entry'
   61 |  return eb64_entry(eb_first(root), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h: In function 'eb64_last':
../../ebtree/eb64tree.h:67:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:67:9: note: in expansion of macro 'eb64_entry'
   67 |  return eb64_entry(eb_last(root), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next':
../../ebtree/eb64tree.h:73:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:73:9: note: in expansion of macro 'eb64_entry'
   73 |  return eb64_entry(eb_next(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev':
../../ebtree/eb64tree.h:79:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:79:9: note: in expansion of macro 'eb64_entry'
   79 |  return eb64_entry(eb_prev(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next_dup':
../../ebtree/eb64tree.h:85:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:85:9: note: in expansion of macro 'eb64_entry'
   85 |  return eb64_entry(eb_next_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev_dup':
../../ebtree/eb64tree.h:91:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:91:9: note: in expansion of macro 'eb64_entry'
   91 |  return eb64_entry(eb_prev_dup(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h: In function 'eb64_next_unique':
../../ebtree/eb64tree.h:97:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:97:9: note: in expansion of macro 'eb64_entry'
   97 |  return eb64_entry(eb_next_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h: In function 'eb64_prev_unique':
../../ebtree/eb64tree.h:103:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/eb64tree.h:103:9: note: in expansion of macro 'eb64_entry'
  103 |  return eb64_entry(eb_prev_unique(&eb64->node), struct eb64_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h: In function '__eb64_insert':
../../ebtree/eb64tree.h:253:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  253 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:282:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  282 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:283:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  283 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:323:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:349:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  349 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:350:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:351:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  351 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:352:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  352 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h:371:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  371 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h:377:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  377 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:406:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  406 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h: In function '__eb64i_insert':
../../ebtree/eb64tree.h:429:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  429 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:458:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  458 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:459:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  459 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:460:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  460 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:461:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  461 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:501:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  501 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:527:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  527 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:528:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  528 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:529:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  529 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:530:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  530 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/eb64tree.h:549:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct eb64_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  549 |     return container_of(ret, struct eb64_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from halog.c:24:
../../ebtree/eb64tree.h:45:8: note: defined here
   45 | struct eb64_node {
      |        ^~~~~~~~~
../../ebtree/eb64tree.h:555:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  555 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/eb64tree.h:584:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  584 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_first':
../../ebtree/ebpttree.h:65:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:65:9: note: in expansion of macro 'ebpt_entry'
   65 |  return ebpt_entry(eb_first(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_last':
../../ebtree/ebpttree.h:71:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:71:9: note: in expansion of macro 'ebpt_entry'
   71 |  return ebpt_entry(eb_last(root), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next':
../../ebtree/ebpttree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:77:9: note: in expansion of macro 'ebpt_entry'
   77 |  return ebpt_entry(eb_next(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev':
../../ebtree/ebpttree.h:83:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:83:9: note: in expansion of macro 'ebpt_entry'
   83 |  return ebpt_entry(eb_prev(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next_dup':
../../ebtree/ebpttree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:89:9: note: in expansion of macro 'ebpt_entry'
   89 |  return ebpt_entry(eb_next_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev_dup':
../../ebtree/ebpttree.h:95:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:95:9: note: in expansion of macro 'ebpt_entry'
   95 |  return ebpt_entry(eb_prev_dup(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_next_unique':
../../ebtree/ebpttree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:101:9: note: in expansion of macro 'ebpt_entry'
  101 |  return ebpt_entry(eb_next_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebpttree.h: In function 'ebpt_prev_unique':
../../ebtree/ebpttree.h:107:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebpttree.h:107:9: note: in expansion of macro 'ebpt_entry'
  107 |  return ebpt_entry(eb_prev_unique(&ebpt->node), struct ebpt_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:29,
                 from halog.c:25:
../../ebtree/ebimtree.h: In function '__ebim_insert':
../../ebtree/ebimtree.h:152:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  152 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:181:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  181 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:233:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  233 |      root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:269:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  269 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:270:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  270 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:271:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  271 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:272:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  272 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebimtree.h:299:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  299 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/ebistree.h:29,
                 from halog.c:25:
../../ebtree/ebimtree.h:305:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebimtree.h:320:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  320 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from halog.c:25:
../../ebtree/ebistree.h: In function '__ebis_insert':
../../ebtree/ebistree.h:155:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  155 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:182:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  182 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:183:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  183 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:184:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  184 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:185:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  185 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:222:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  222 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebistree.h:268:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebpt_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  268 |     return container_of(ret, struct ebpt_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebistree.h:28,
                 from halog.c:25:
../../ebtree/ebpttree.h:50:8: note: defined here
   50 | struct ebpt_node {
      |        ^~~~~~~~~
In file included from halog.c:25:
../../ebtree/ebistree.h:284:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  284 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:285:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:286:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  286 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:287:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  287 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:309:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  309 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebistree.h:325:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  325 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_first':
../../ebtree/ebmbtree.h:59:43: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |                                           ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:59:9: note: in expansion of macro 'ebmb_entry'
   59 |  return ebmb_entry(eb_first(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_last':
../../ebtree/ebmbtree.h:65:42: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |                                          ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:65:9: note: in expansion of macro 'ebmb_entry'
   65 |  return ebmb_entry(eb_last(root), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next':
../../ebtree/ebmbtree.h:71:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:71:9: note: in expansion of macro 'ebmb_entry'
   71 |  return ebmb_entry(eb_next(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev':
../../ebtree/ebmbtree.h:77:49: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |                                                 ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:77:9: note: in expansion of macro 'ebmb_entry'
   77 |  return ebmb_entry(eb_prev(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next_dup':
../../ebtree/ebmbtree.h:83:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:83:9: note: in expansion of macro 'ebmb_entry'
   83 |  return ebmb_entry(eb_next_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev_dup':
../../ebtree/ebmbtree.h:89:53: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |                                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:89:9: note: in expansion of macro 'ebmb_entry'
   89 |  return ebmb_entry(eb_prev_dup(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_next_unique':
../../ebtree/ebmbtree.h:95:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:95:9: note: in expansion of macro 'ebmb_entry'
   95 |  return ebmb_entry(eb_next_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function 'ebmb_prev_unique':
../../ebtree/ebmbtree.h:101:56: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |                                                        ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:101:9: note: in expansion of macro 'ebmb_entry'
  101 |  return ebmb_entry(eb_prev_unique(&ebmb->node), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h: In function '__ebmb_insert':
../../ebtree/ebmbtree.h:248:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  248 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:273:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  273 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:285:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  285 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:305:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  305 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:315:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  315 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:322:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  322 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:323:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  323 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:324:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  324 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h:350:36: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  350 |    return container_of(ret, struct ebmb_node, node);
      |                                    ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h:374:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  374 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h: In function '__ebmb_lookup_longest':
../../ebtree/ebmbtree.h:469:57: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |                                                         ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebmbtree.h:469:9: note: in expansion of macro 'ebmb_entry'
  469 |  return ebmb_entry(eb_walk_down(cover, EB_LEFT), struct ebmb_node, node);
      |         ^~~~~~~~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h: In function '__ebmb_insert_prefix':
../../ebtree/ebmbtree.h:594:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  594 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:625:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  625 |    up_ptr = &old->node.leaf_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:642:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  642 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:663:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  663 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:676:13: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  676 |    up_ptr = &old->node.node_p;
      |             ^~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:689:12: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  689 |     root = &old->node.branches;
      |            ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:698:11: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  698 |    root = &old->node.branches;
      |           ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:711:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  711 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebmbtree.h:780:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  780 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
../../ebtree/ebmbtree.h:790:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  790 |  new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:791:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  791 |  new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:792:22: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  792 |  new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                      ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebmbtree.h:807:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  807 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from halog.c:26:
../../ebtree/ebsttree.h: In function '__ebst_insert':
../../ebtree/ebsttree.h:149:31: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  149 |   root->b[EB_LEFT] = eb_dotag(&new->node.branches, EB_LEAF);
      |                               ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:176:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  176 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:177:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  177 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:178:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  178 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:179:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  179 |    old_leaf = eb_dotag(&old->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:216:30: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  216 |     root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                              ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
../../ebtree/ebsttree.h:262:37: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct ebmb_node' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
  262 |     return container_of(ret, struct ebmb_node, node);
      |                                     ^~~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
In file included from ../../ebtree/ebsttree.h:27,
                 from halog.c:26:
../../ebtree/ebmbtree.h:44:8: note: defined here
   44 | struct ebmb_node {
      |        ^~~~~~~~~
In file included from halog.c:26:
../../ebtree/ebsttree.h:278:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  278 |    new_left = eb_dotag(&new->node.branches, EB_LEFT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:279:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  279 |    new_rght = eb_dotag(&new->node.branches, EB_RGHT);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:280:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  280 |    new_leaf = eb_dotag(&new->node.branches, EB_LEAF);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:281:24: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  281 |    old_node = eb_dotag(&old->node.branches, EB_NODE);
      |                        ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:303:10: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  303 |   root = &old->node.branches;
      |          ^~~~~~~~~~~~~~~~~~~
../../ebtree/ebsttree.h:319:27: warning: taking address of packed member of 'struct eb_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
  319 |  root->b[side] = eb_dotag(&new->node.branches, EB_NODE);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
halog.c: In function 'main':
halog.c:1254:39: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct url_stat' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
 1254 |     ustat = container_of(node, struct url_stat, node.url.node);
      |                                       ^~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
halog.c:64:8: note: defined here
   64 | struct url_stat {
      |        ^~~~~~~~
In file included from ../../ebtree/eb32tree.h:24,
                 from halog.c:23:
halog.c:1289:38: warning: converting a packed 'struct eb_node' pointer (alignment 1) to a 'struct url_stat' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
 1289 |    ustat = container_of(node, struct url_stat, node.url.node);
      |                                      ^~~~~~~~
../../ebtree/ebtree.h:321:77: note: in definition of macro 'container_of'
  321 | #define container_of(ptr, type, name) ((type *)(((void *)(ptr)) - ((long)&((type *)0)->name)))
      |                                                                             ^~~~
../../ebtree/ebtree.h:376:8: note: defined here
  376 | struct eb_node {
      |        ^~~~~~~
halog.c:64:8: note: defined here
   64 | struct url_stat {
      |        ^~~~~~~~
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14/contrib/halog'
+ popd
~/RPM/BUILD/haproxy-2.0.14
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.63414
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/haproxy-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/haproxy-buildroot
+ cd haproxy-2.0.14
+ make 'INSTALL=/bin/install -p' install-bin DESTDIR=/usr/src/tmp/haproxy-buildroot PREFIX=/usr TARGET=linux-glibc
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
install: creating directory '/usr/src/tmp/haproxy-buildroot'
install: creating directory '/usr/src/tmp/haproxy-buildroot/usr'
install: creating directory '/usr/src/tmp/haproxy-buildroot/usr/sbin'
'haproxy' -> '/usr/src/tmp/haproxy-buildroot/usr/sbin/haproxy'
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
+ make 'INSTALL=/bin/install -p' install-man DESTDIR=/usr/src/tmp/haproxy-buildroot PREFIX=/usr
make: Entering directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
install: creating directory '/usr/src/tmp/haproxy-buildroot/usr/share'
install: creating directory '/usr/src/tmp/haproxy-buildroot/usr/share/man'
install: creating directory '/usr/src/tmp/haproxy-buildroot/usr/share/man/man1'
'doc/haproxy.1' -> '/usr/src/tmp/haproxy-buildroot/usr/share/man/man1/haproxy.1'
make: Leaving directory '/usr/src/RPM/BUILD/haproxy-2.0.14'
+ install -p -D -m 0644 /usr/src/RPM/SOURCES/haproxy.cfg /usr/src/tmp/haproxy-buildroot/etc/haproxy/haproxy.cfg
+ install -D -m 0755 /usr/src/RPM/SOURCES/haproxy.init /usr/src/tmp/haproxy-buildroot/etc/rc.d/init.d/haproxy
+ install -p -D -m 0644 /usr/src/RPM/SOURCES/haproxy.service /usr/src/tmp/haproxy-buildroot/lib/systemd/system/haproxy.service
+ install -p -D -m 0644 /usr/src/RPM/SOURCES/haproxy.logrotate /usr/src/tmp/haproxy-buildroot/etc/logrotate.d/haproxy
+ install -d -m 0755 /usr/src/tmp/haproxy-buildroot/var/lib/haproxy
+ install -d -m 0755 /usr/src/tmp/haproxy-buildroot/usr/share/haproxy
+ install -d -m 0755 /usr/src/tmp/haproxy-buildroot/usr/bin
+ install -p -m 0755 contrib/halog/halog /usr/src/tmp/haproxy-buildroot/usr/bin/halog
+ cp -p examples/errorfiles/400.http examples/errorfiles/403.http examples/errorfiles/408.http examples/errorfiles/500.http examples/errorfiles/502.http examples/errorfiles/503.http examples/errorfiles/504.http examples/errorfiles/README /usr/src/tmp/haproxy-buildroot/usr/share/haproxy/
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/haproxy-buildroot (auto)
Verifying and fixing files in /usr/src/tmp/haproxy-buildroot (binconfig,pkgconfig,libtool,desktop)
Checking contents of files in /usr/src/tmp/haproxy-buildroot/ (default)
Compressing files in /usr/src/tmp/haproxy-buildroot (auto)
Adjusting library links in /usr/src/tmp/haproxy-buildroot
./var/lib:
./lib:
Verifying ELF objects in /usr/src/tmp/haproxy-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
verify-elf: WARNING: ./usr/bin/halog: uses non-LFS functions: posix_fadvise
section [ 5] '.dynsym': symbol 690: symbol in dynamic symbol table with non-default visibility
section [ 5] '.dynsym': symbol 1385: symbol in dynamic symbol table with non-default visibility
section [ 5] '.dynsym': symbol 1452: symbol in dynamic symbol table with non-default visibility
section [ 5] '.dynsym': symbol 1641: symbol in dynamic symbol table with non-default visibility
section [ 5] '.dynsym': symbol 1727: symbol in dynamic symbol table with non-default visibility
section [ 5] '.dynsym': symbol 1731: symbol in dynamic symbol table with non-default visibility
section [ 5] '.dynsym': symbol 1800: symbol in dynamic symbol table with non-default visibility
section [ 5] '.dynsym': symbol 1901: symbol in dynamic symbol table with non-default visibility
verify-elf: WARNING: ./usr/sbin/haproxy: eu-elflint failed
verify-elf: WARNING: ./usr/sbin/haproxy: uses non-LFS functions: __fxstat __xstat alphasort fcntl fopen getrlimit mmap open scandir setrlimit
Hardlinking identical .pyc and .pyo files
Processing files: haproxy-2.0.14-alt1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.29953
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd haproxy-2.0.14
+ DOCDIR=/usr/src/tmp/haproxy-buildroot/usr/share/doc/haproxy-2.0.14
+ export DOCDIR
+ rm -rf /usr/src/tmp/haproxy-buildroot/usr/share/doc/haproxy-2.0.14
+ /bin/mkdir -p /usr/src/tmp/haproxy-buildroot/usr/share/doc/haproxy-2.0.14
+ cp -prL CHANGELOG LICENSE README ROADMAP doc/architecture.txt doc/configuration.txt doc/intro.txt doc/management.txt doc/proxy-protocol.txt examples/acl-content-sw.cfg examples/content-sw-sample.cfg examples/option-http_proxy.cfg examples/socks4.cfg examples/transparent_proxy.cfg examples/wurfl-example.cfg /usr/src/tmp/haproxy-buildroot/usr/share/doc/haproxy-2.0.14
+ chmod -R go-w /usr/src/tmp/haproxy-buildroot/usr/share/doc/haproxy-2.0.14
+ chmod -R a+rX /usr/src/tmp/haproxy-buildroot/usr/share/doc/haproxy-2.0.14
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.6xsPrY
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.Gzgfx2
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks,systemd-services)
Finding Requires(pre) (using /usr/lib/rpm/find-scriptlet-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.0deyM0
Finding Requires(post) (using /usr/lib/rpm/find-scriptlet-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.XkpTUZ
Finding Requires(preun) (using /usr/lib/rpm/find-scriptlet-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.zKXq5Z
Requires: /bin/kill, /bin/sh, /etc/logrotate.d, /etc/rc.d/init.d, /etc/rc.d/init.d(action), /etc/rc.d/init.d(msg_reloading), /etc/rc.d/init.d(msg_usage), /etc/rc.d/init.d(start_daemon), /etc/rc.d/init.d(status), /etc/rc.d/init.d(stop_daemon), /etc/rc.d/init.d/functions, /lib/ld-linux.so.2, libc.so.6(GLIBC_2.0), libc.so.6(GLIBC_2.1), libc.so.6(GLIBC_2.1.3), libc.so.6(GLIBC_2.10), libc.so.6(GLIBC_2.11), libc.so.6(GLIBC_2.14), libc.so.6(GLIBC_2.15), libc.so.6(GLIBC_2.16), libc.so.6(GLIBC_2.17), libc.so.6(GLIBC_2.2), libc.so.6(GLIBC_2.28), libc.so.6(GLIBC_2.3), libc.so.6(GLIBC_2.3.2), libc.so.6(GLIBC_2.3.4), libc.so.6(GLIBC_2.4), libc.so.6(GLIBC_2.5), libc.so.6(GLIBC_2.6), libcrypt.so.1 >= set:igUtHYb0, libcrypt.so.1(XCRYPT_2.0), libcrypto.so.1.1 >= set:qivVi1mZE62EaP00dgqNtFyWMZvMQ4kZdA6VsTwTwcyY5cZw4N2HvqfCBH8r13m9iuJ5AoAr6J3vVkHjGmZcAnTTwB8h9EKQObLd22Ri5wpBc1gX5hJZ4ecBNCLMHkDVldfHlo4b3qCq0qWC0hZbY4M5Ozroii8ygDFlneA7dZoDsjxBbgngQs0TjupGIOfiZ9CBidmZk6hJWPS5t9gr0bzuvTqbxbjqBXk2ZHFRVnL2wFH7ho20Z1T6yeSVhXZyE2dFIqMWDeAR0K9vZmLgYUZ9dyVGog97t0yDz3Q9KeqjzDixI96kzIKS5jZykbjnT2Zg74MYtnOK953EjuRBOYfG2pdZpje4ptpwLZ4uC5ALtof1ZA3UqZdDh0splR0C9I58PgmyKZzuM3rSf9HO5, libcrypto.so.1.1(OPENSSL_1_1_0), libcrypto.so.1.1(OPENSSL_1_1_1), liblua-5.3.so >= set:leZKmrUaBduFsmBYiwG0uI9ipsS8yvU6e6Hwdb6hbp8n2ELUnbC4o5DBJMdxFfdRUgHFBw3DKZsvsRslW8N53xK08sgX59cbWBOgSArN0ZCIoQYwX7QW5FxoHsdEVx3N9RhVfgjtjJDaG23JtbqEbW9d20SBWU5vF14, libpcre2-8.so.0 >= set:khJAWf3PImZzwDBUAnrV7, libpthread.so.0(GLIBC_2.0), libpthread.so.0(GLIBC_2.1), libpthread.so.0(GLIBC_2.2), libpthread.so.0(GLIBC_2.3.2), libpthread.so.0(GLIBC_2.3.4), librt.so.1(GLIBC_2.2), libssl.so.1.1 >= set:mfaBZ9iyX4r1fccKJnR7NOFhzCMpii9scG5rdnVdueJVheCGMjI48FOZkxJyING8MXmRzfZ4pSZAcyAf0CX5wZz9vQIOrZ0x2iZG4bPRbwDcIlFkg1Dn0oU7p6x3n5xZJNK240y5af0HkH1oFyCjuZn9kOUJ8qZ6qMTuXNfg7SXNzhGLz57lO5sF3699qyZFwgwV4JhjIfd5Zw2EAmjJL3jZ8XTnzByZfrT5cSkdHlwalQ99BcZx0zQyZcsuZg3, libssl.so.1.1(OPENSSL_1_1_0), libssl.so.1.1(OPENSSL_1_1_1), libsystemd.so.0 >= set:nlZGfeZss, libsystemd.so.0(LIBSYSTEMD_209), libz.so.1 >= set:khb6pwma2nfgZKO, rtld(GNU_HASH)
Requires(interp): /bin/sh
Requires(rpmlib): rpmlib(SetVersions)
Requires(pre): /bin/sh, /usr/sbin/groupadd, /usr/sbin/useradd
Requires(post): /bin/sh, /usr/sbin/post_service
Requires(preun): /bin/sh, /usr/sbin/preun_service
Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.ArRLW1
Creating haproxy-debuginfo package
Processing files: haproxy-debuginfo-2.0.14-alt1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.hGaqZY
find-provides: running scripts (debuginfo)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.Mhu6f2
find-requires: running scripts (debuginfo)
Requires: haproxy = 2.0.14-alt1, /usr/lib/debug/lib/ld-linux.so.2.debug, debug(libc.so.6), debug(libcrypt.so.1), debug(libcrypto.so.1.1), debug(liblua-5.3.so), debug(libpcre2-8.so.0), debug(libpthread.so.0), debug(librt.so.1), debug(libssl.so.1.1), debug(libsystemd.so.0), debug(libz.so.1)
Adding to haproxy-debuginfo a strict dependency on haproxy
Wrote: /usr/src/RPM/RPMS/i586/haproxy-2.0.14-alt1.i586.rpm
Wrote: /usr/src/RPM/RPMS/i586/haproxy-debuginfo-2.0.14-alt1.i586.rpm
204.72user 12.28system 1:20.27elapsed 270%CPU (0avgtext+0avgdata 104344maxresident)k
0inputs+0outputs (0major+2333238minor)pagefaults 0swaps
212.12user 17.91system 1:33.76elapsed 245%CPU (0avgtext+0avgdata 109064maxresident)k
2640inputs+0outputs (0major+2648519minor)pagefaults 0swaps